Allow using apphook_pool.register() as a decorator.

If it returns None, then the value of the defined class will be None,
which makes it dfficult to access the class!

It can still be used in the old way. The lambda is only necessary when
register is invoked with arguments, for example:

    @apphook_pool.register(discovering_apps=True)
    class MyApp(CMSApp): ...

and I don't know if that should be allowed or not.
Allow plugin registration using a decorator as well.

For example:

    @plugin_pool.register_plugin
    class DecoratorTestPlugin(CMSPluginBase): ...
Fix DefaultLanguageChanger by monkeypatching unicode method
Proper fix for #3393
Fix namespace support in DefaultLanguageChanger
Merge pull request #3400 from yakky/feature/fix_language_changer

Fixes for DefaultLanguageChanger
changelog
Merge pull request #3391 from aptivate/allow_register_decoration

Allow using apphook_pool.register() as a decorator.
Merge branch 'develop' of github.com:divio/django-cms into develop
version bump
locales and changelog
release
bump version