[WIP] Introduced Roboguice as replacement for guice 

Added Roboguice 
Changed the order of the test dependencies to avoid some issues with Hamcrest and mockito-all
Fixed failing tests due to introduction of roboguice
Guice supports lazy injection. You could mark the injected ChildRepository as:

    @Inject Provider<ChildRepository> childRepositoryProvider;

And then in this code you can say:

    @Cleanup ChildRepository repository = childRepositoryProvider.get();

This will create a ChildRepository *on-demand*, and then make sure of closing it properly as well :) Guice automatically understands the `Provider<...>`. 

Also Note: This is **not** to be confused with the `@Provides` annotation or factory providers, those are totally separate. This is purely a "injection-time lazy loading". Instead of always injecting an object, it injects on demand.