Renamed DB4OGenericRepositoryImpl to DB4ORepositoryImpl
Added TypeLiteral usage so that we can now write 

@Inject 
Factory<Program> factory;

and

@Inject 
Repository<Program> repo;

And of course, tests for the above.