Use -self instead of -forceRecursively.

Honestly, I don’t even remember committing that.
Avoid returning nil from -self.
Assert that compaction doesn’t result in nil.
Smarter descriptions.
Smarter repetition compaction.
Name the cyclic repetition.
Move parsing into its own file(s).
Don’t publish HMRParserCombinator.h.
Merge pull request #58 from robrix/parser

Parser
HMRParserCombinator → HMRNonterminal.
HMRTerminalCombinator → HMRTerminal.
Merge pull request #59 from robrix/nonterminal

Nonterminal
Merge branch 'master' into lexer

Conflicts:
	Hammer.xcodeproj/project.pbxproj
	Hammer/HMRNonterminal.m