Mach: Add `mach clean-cargo-cache` command
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16593)
<!-- Reviewable:end -->
Add CCACHE infra and turn it on in travis
r? @Manishearth
This lets devs configure their use of CCACHE with their .servobuild file, as usual. For build environments, they can either have a .servobuild file or set the CCACHE env var to point at the ccache binary to use.
It also adds support for ccache to our travis builds. Buildbot will come in a separate commit to the saltfs repo.
It is expected that the various cargo makefiles will look at this variable and do the "right thing" to tell their native build to instead use ccache. e.g., https://github.com/servo/mozjs/pull/62
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8366)
<!-- Reviewable:end -->
The only reason the Dockerfile was introduced is because the default
machines that Travis uses are based on Ubuntu 12.04, which has some very
old incompatible dependencies with Servo. Docker allowed use to use a
new version of Ubuntu, allowing us to compile with ease. I just learned
that they are currently beta testing 14.04 support:
http://docs.travis-ci.com/user/trusty-ci-environment/
This commit updates our Travis config to remove our dependency on Docker
and just build directly on the images, reducing some complexity and also
overhead of downloading Docker images.
In addition, this commit also enables caching of the .servo and .cargo
directories on Travis in an attempt to reduce build times.
http://docs.travis-ci.com/user/caching/#Arbitrary-directories