Huge push to add Guice and Mockito

Lots of rearchitecting, added ProblemsModule, made all problems/support
classes injectable, did neat stuff everywhere, joe will hate it because
holy shit so much magic