First stab at a config object thingy.
Start using config objects in applications.
Document config fields in definition order.
Some more machinery around config objects.
More exciting config field types and a bunch of tests.
Add field_type to config fields and use lists and dicts where necessary.
Mandatory msg param for get_config().
Mandatory msg param for get_config() in the other place as well.
Config metaclass no longer finds fields that have been overridden in subclasses.
Put config on api object to make all sorts of things easier.
deepcopy config dicts and lists to avoid accidental mutation.
Cleaner config jiggery-pokery.
Update apps and demos to use config objects.
Use config objects for more things.
Merge branch 'develop' into feature/issue-460-better-config-tools
Merge branch 'develop' into feature/issue-460-better-config-tools

Conflicts:
	vumi/transports/httprpc/httprpc.py
Merge branch 'develop' into feature/issue-460-better-config-tools
Merge branch 'develop' into feature/issue-460-better-config-tools
Enforce static config fields.
adding test for reading non-static config keys when static=True