Refactor Monkey architecture to remove the mess in ChimpleProgram.
Move makeMonkey to MonkeyFactory & allow solvers to customize them.
Add StrongMonkeyFactory, NaiveMonkeyFactory; refactor PriorSolver.