Initial version of support for transitive dependencies

Added simple constraint solver for transitive dependencies, rewrote Get.Install to accommodate all necessary changes in other parts.
Prefer this style:

```haskell
data LibChange
    = LibFresh
    | LibUpdate V.Version
```