rustbuild: use deterministic step ordering and respect path order on the command-line.
Restores similar behavior to `make` rules, where:
* the step order was always the same, e.g. the testsuite order in `make check`
* `make check-stage1-{cfail,rpass}` would *always* run `cfail` before `rpass`
* `./x.py test--stage 1 src/test/{compile-fail,run-pass}` is now equivalent
r? @alexcrichton