Smarter way of handling settings (fixes gunicorn/flup)

Removed monkeypatching from cms.__init__
Removed cms.conf.*
Added cms.utils.conf.get_setting(name)
Refactored all (CMS) setting accesses throughout the code base

This should fix issues with more recent gunicorn version (>0.12) as
well as make the code less hacky.

Known issues on this branch:

* ApphooksPageLanguageUrlTestCase.test_page_language_url_for_apphook
  currently fails, not sure why.
* SettingsTests.test_cms_templates_length,
  SettingsTests.test_cms_templates_none and
  SettingsTests.test_cms_templates_valid all fail currently because
  cms.conf.patch.post_patch and cms.conf.patch.post_patch_check are
  no longer available.