Generalise `find_project` to not always search parents.

Also, add a helper around `find_project` that returns `dir/file` rather
than just `dir`.
Check for the existence of Cargo.toml when reading packages.

Fixes #82.
auto merge of #83 : huonw/cargo/manifest-search, r=alexcrichton,alexcrichton
Merge branch 'master' of https://github.com/rust-lang/cargo
Make queries IoResults