Merge branch 'runners'
Logging and documentation improvements

mandrel.bootstrap:
* Made default logging case more flexible for configuration
* Increased information and readability of default logging format
* Documented most of the critical procedures and functions.
Fix __setattr__ / descriptor bug in Configuration class

See: https://github.com/ethanrowe/python-mandrel/issues/4

Fixed by detecting descriptor in __setattr__ and letting it
drive in this case, using suggestion outlined here:
http://feldboris.alwaysdata.net/blog/custom-setattr-and-descriptors-be-careful.html
Rearrange mandrel.config to be a package

Original mandrel.config becomes mandrel.config.core.
- Updated unit tests to refer to mandrel.config.core instead of
  mandrel.config, for the most part.

Package imports a few public-facing features from
mandrel.config.core so the public interface is (largely)
maintained.

Added unit test for checking the imports and "exports" of
mandrel.config itself.
convention_loader utility function generator

mandrel.util.convention_loader:
* Specify a naming convention format string
* You get a function that will load simple names substituted into
  that naming convention.

Hurray.
harness_loader for truly delightful dynamic loading frameworkyness.

Hark!  I want to put all my widgets in a particular location,
and load lots of them, but lazily to avoid import spaghetti.  And
I want to apply the same process to each at load time!

Waa laa:
    @harness_loader(convention_loader('all.mah.widgetz.%s_widget.Widget'))
    def widgety(widget_cls, name):
        return widget_cls(name)

    # Get an all.mah.widgetz.aard_widget.Widget
    # and dub it 'Thou Art Aard'.
    aard = widget('aard', 'Thou Art Aard')
    # And so on.
    vark = widget('vark', 'Varkiness')

I realize the documentation on this function sucks, but it's
not for lack of trying.
Configuration helper for configurable classes.

mandrel.config.helpers.configurable_class:
* returns a property that works nice with Configuration classes.
* translates between a fully qualified class name (in configuration
  dictionary) and an actual class (in pythonville).
Merge branch 'dynamic_loaders'
Advance to version 0.0.3
Merge branch 'master' into release

Accepted 'master' setup.py for conflict.
Expand packages for pypi installation.
Merge branch 'master' into release
Change build tag to "b"
I added a call to disable_interspersed_args when parsing the args in the runner so that it will stop when it gets to the callable and pass everything after this to the target callable
Merge branch 'master' of https://github.com/gf-atebbe/python-mandrel
A lame changelog, to be sure, but a beginning
Merge branch 'master' into release-0.0.4b