Fix a typo in the README
Source::update takes mutable self
PathSource - load packages in update fn
Initial pass at boxed errors

The next step is to clean up the error handling in general so that
failure cases produce good errors.
Squelch warnings and minor cleanup
Add cargo_try!
Add FromError
Require human-tagging errors
Rename  to
Add mark_human
Add CargoError::with_cause

This allows concrete implementations with a `cause` field to have a
better implementation than converting the entire original error into a
concrete representation.
Optimized mark_human for ConcreteCargoError
Provide more context on process errors

When printing an error for a failed process execution, the stdout/stderr are
included for inspection.
Allow custom precompile commands

This commit enables support for custom precompilation commands to be triggered
before a package builds via rustc. The current interface is to have
`build = "foo"` in the `[project]` section of Cargo.toml and cargo will just
execute the exact command given.
Make CARGO_BIN_PATH optional for tests

This allows easier use of running tests by hand.
Run tests in parallel

Give each test is own root inside of the shared root to ensure that the tests
are still isolated from one another.
Add a .travis.yml
Update hammer.rs
Merge pull request #22 from alexcrichton/make

Allow executing an arbitrary command before building
Merge pull request #18 from erickt/master

Fix a typo in the README