Config sections
===============

    xix.utils.config now allows you define sections in your configuration
    file, such as the following:

    [section]
    eggs='over easy'
    [[subsection]]
    ham='salty'

    This is equivalent to:

    section.eggs='over easy'
    section.subsection.ham='salty'

    Example Usage
    -------------

    >>> data = '''
    ... # Start section a
    ... [a]
    ... t1='this is a test'
    ... t2=(1,2,3)
    ... [[b]]
    ... t3='another test'
    ... t4={1:2, 3:4}
    ... # subsection c
    ... [[c]]
    ... t5='a'
    ... [[[d]]]
    ... t6.apple="orange"
    ... t6.orange="apple"
    ... [[e]]
    ... t7=1
    ... [[[f]]]
    ... t8=(12,34,56)
    ... [b]
    ... [[b]]
    ... t1='not a dup'
    ... [yet.another.section]
    ... earthy.beverage="good"
    ... '''
    >>> from xix.utils.config import ConfigLoader
    >>> loader = ConfigLoader()
    >>> cfg = loader.load(data)
    >>> print cfg.a.t1, cfg.a.t2
    this is a test (1, 2, 3)
    >>> print cfg.a.b.t3, cfg.a.b.t4[3]
    another test 4
    >>> print cfg.a.c.t5
    a
    >>> print cfg.a.c.d.t6.apple, cfg.a.c.d.t6.orange
    orange apple
    >>> print cfg.a['e'].t7
    1
    >>> print cfg.a.e.f.t8
    (12, 34, 56)
    >>> print cfg.yet.another.section.earthy.beverage
    good

    
