Dependency resolution

The goal here is to let Crane figure out in what order the containers should be started/stopped. This has the following advantages:

* The user does not need to set the order manually anymore. However, the order can be set manually by listing the containers in an `order` field
* The  dependencies between the container can be checked by Crane. Cyclic or missing dependencies get detected. This is especially helpful when using `--target`.