Structured headers

Similar to the existing headers method but returns a nested structure.

This is for use in the Content API so that it can construct a nested
view of all the headings contained in a document for display in the
side bar.
Avoid warnings about private attr_readers in ruby 1.9.3

apparently this warning has been removed in ruby 2.0
but since this gem is currently pinned to 1.9.3
avoid these warnings for now
Merge pull request #16 from alphagov/structured_headings

Structured headers

https://www.pivotaltracker.com/story/show/65350948