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.
Don’t try to run unit tests for the servo crate.

There are none, but the contenttest program fails with:

```
task '<main>' panicked at 'Required option 'source-dir' missing.', ../../tests/contenttest.rs:48
```
More target path fixup.
auto merge of #4140 : SimonSapin/servo/no-root-cargo-toml, r=SimonSapin

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