Add infrastructure needed to generate internals documentation.

This uses YARD to generate internals documentation from appropriately
commented code.
Add YARD-generated internals documentation.
Merge pull request #260 from VictorLowther/add-yard-based-internals-documentation

Add yard based internals documentation