Improve error messages
Adds initial usage support
Terminal colors
Thread the shell through more of the system
More shell refactoring
Improve error messages
Simplify flags
Fix a red test
Fix long lines
Move from rust-toml to toml-rs

This commit should greatly improve all error messages related to decoding
Cargo.toml.
Merge pull request #28 from alexcrichton/new-toml

Move from rust-toml to toml-rs
Makefile: support install, makes packaging easier
Specify the SourceId that the path source represents
Merge pull request #29 from cmr/make-install

Makefile: support install, makes packaging easier
Support [package] or [project]

The plan is to free up [project] for simpler config plus output flags
like -O that don't make sense in packages.
Fix the README
GitSource delegates to PathSource for path ops
Allow absent git version
Only force update git if -u is passed

This will become moot once we have a lockfile, because we'll be able to
check whether the last rev we used is still available and skip fetching.
Rename cargo-compile to cargo-build