Meta-packages

This allows a single git repository to have multiple packages contained inside.

* Cargo will look for `Cargo.toml`s located anywhere inside the project.
* Cargo will stop searching once it reaches a submodule, to avoid accidentally exporting someone else's packages. It is still possible to explicitly depend on packages from a submodule using the `path=` syntax on dependencies.
It was already possible to depend on other packages in the same repo (via `path=`). This commit makes it possible to have multiple packages without dependencies in a single repo.