Refactor

I basically pushed some of the legacy stuff to a new module and added a
nicer abstraction for the dependency graph which should make working
with that part of the lib a lot nicer. Theoretically that part will get
pulled into it's own crate when it's more mature.
2 jobs for dependencies in 2 minutes
Status Job ID Name Coverage
  Build
failed #6418
allowed to fail
build:linux:cargo

00:01:18

failed #6419
build:redox:cargo

00:01:59

 
Name Stage Failure
failed
build:redox:cargo Build
          

error: aborting due to previous error

error: Could not compile `init`.

Caused by:
process didn't exit successfully: `rustc --crate-name init src/main.rs --color never --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=0086c139cd4f367a -C extra-filename=-0086c139cd4f367a --out-dir /builds/redox-os/init/target/x86_64-unknown-redox/debug/deps --target x86_64-unknown-redox -C incremental=/builds/redox-os/init/target/x86_64-unknown-redox/debug/incremental -L dependency=/builds/redox-os/init/target/x86_64-unknown-redox/debug/deps -L dependency=/builds/redox-os/init/target/debug/deps --extern failure=/builds/redox-os/init/target/x86_64-unknown-redox/debug/deps/libfailure-b574cb290d5aca28.rlib --extern generational_arena=/builds/redox-os/init/target/x86_64-unknown-redox/debug/deps/libgenerational_arena-0f8e555046ccb617.rlib --extern log=/builds/redox-os/init/target/x86_64-unknown-redox/debug/deps/liblog-23c856cb8ba5cdab.rlib --extern syscall=/builds/redox-os/init/target/x86_64-unknown-redox/debug/deps/libsyscall-1a6615eb2f25b0ca.rlib --extern serde=/builds/redox-os/init/target/x86_64-unknown-redox/debug/deps/libserde-3aed2b50fc99f8fd.rlib --extern serde_derive=/builds/redox-os/init/target/debug/deps/libserde_derive-ae20f1a860085ead.so --extern simple_logger=/builds/redox-os/init/target/x86_64-unknown-redox/debug/deps/libsimple_logger-c0193c8127a39dea.rlib --extern toml=/builds/redox-os/init/target/x86_64-unknown-redox/debug/deps/libtoml-c719d8472a49bb04.rlib` (exit code: 1)
ERROR: Job failed: exit code 1
failed
build:linux:cargo Build

error: aborting due to 6 previous errors

For more information about this error, try `rustc --explain E0308`.
error: Could not compile `init`.

Caused by:
process didn't exit successfully: `rustc --crate-name init src/main.rs --color never --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=f2c4624f89bfe1e0 -C extra-filename=-f2c4624f89bfe1e0 --out-dir /builds/redox-os/init/target/debug/deps -C incremental=/builds/redox-os/init/target/debug/incremental -L dependency=/builds/redox-os/init/target/debug/deps --extern failure=/builds/redox-os/init/target/debug/deps/libfailure-57232990b97b00ba.rlib --extern generational_arena=/builds/redox-os/init/target/debug/deps/libgenerational_arena-f4d9d0fc4716bff2.rlib --extern log=/builds/redox-os/init/target/debug/deps/liblog-abc64b088207f689.rlib --extern syscall=/builds/redox-os/init/target/debug/deps/libsyscall-50f9ce6fbee5a36f.rlib --extern serde=/builds/redox-os/init/target/debug/deps/libserde-56e8fe1a7b636260.rlib --extern serde_derive=/builds/redox-os/init/target/debug/deps/libserde_derive-ae20f1a860085ead.so --extern simple_logger=/builds/redox-os/init/target/debug/deps/libsimple_logger-5514d6364d9080d5.rlib --extern toml=/builds/redox-os/init/target/debug/deps/libtoml-db1521c56479c7be.rlib -L native=/builds/redox-os/init/target/debug/build/backtrace-sys-327bada3af65a1d4/out` (exit code: 1)
ERROR: Job failed: exit code 1