Improved ContextHierarchy.

You can now say:

    >>> template = templatetools.StringOrchestraScoreTemplate()
    >>> score = template()
    >>> context_hierarchy = datastructuretools.ContextHierarchy(score)
    >>> context_hierarchy['String Orchestra Score']['color'] = 'red'

... and:

    >>> context_hierarchy['Viola 2 Voice']['color']
    'red'

The __getitem__ chaining is handled via a new ContextHierarchyComponent class.