Change Grammar#merge_part signature

Now it doesn't care about the original rule
Clean up code
Add docs to grammar.rb, make merge_part private
Get rid of shortcut methods under Grammar::Rule
Clean up code, add docs to grammar.rb and player.rb
Add a (commented-out) learning after inventing
Rename iterations->generations

And sub-iterations->iterations.
And log info every iteration, not generation.