Rename DependenciesMap to DependencyGraph
Refactor dependency resolution

The biggest change is the removal of reversed order from the
dependency resolution. This makes the logic quite a bit easier
to understand.
The order is only reversed right before the containers are used.
This change would produce sub-optimal reverse orders for targets
with missing dependencies, so additionally it introduces the
notion of a forced order, yielding the same results as before.
At the same time, this  allows the user to execute targets that
can't be satisfied but don't need to (status, provision and push).
Rename Dependencies field "list" to "all"
fix regressions introduced in 71b9c0a
Rename Dependencies field linked to link

Now all fields are named after their Docker flag counterparts.
Merge pull request #76 from bjaglin/fixregression

fix regression introduced in 71b9c0a
cascading flag to include dependencies of the explicit target
cascading flag to include containers depending on the explicit target
more granular cascading strategies