Move more of the metadata initialization logic into the populators.
Refactor metadata so it does not subclass hash at all.
Simplify a few things related to :parent_example_group.

- Always have a :parent_example_group key. It'll return
  a blank hash if there is no parent example group.
- Simplify how `full_description` is built.