Move the servo crate from root to components/servo
Warn when Cargo is run directly. Fix #3957.
Make build system more independent of current directory.
Have `./mach cargo` not change to `components/servo`.

`ports/android/glut` relies on it executing on the current directory.
Fix up android/glut port to find its servo dependency.
auto merge of #4140 : SimonSapin/servo/no-root-cargo-toml, r=Manishearth

This fixes #3957, and allow #4115 not to regress #4099.