Add internationalization support

Changelog:

- depend (optionally) on Babel (for locale support)
- mark most obvious string to be translated (some with plural forms)
- add "locale" setting to user that sets `request._LOCALE_` (what locale/language to use)
- add support for syncing translation to transifex https://www.transifex.com/projects/p/substanced/resource/master/
- fix some issues that "extract_messages" was choking on while parsing xml
- change logout icon from 'pencil' to 'off'
- add "_" translationstring function to util module
- add initial translation for Slovenian (72%)
- add initial translation for German (1%)
- document internalization workflow into HACKING.txt
- add flake8 ignored error hints to setup.cfg according to pylons codestyle

Notes:

- not all strings are marked as translated, that needs a focused overview of the codebase
- transifex is used to do actual translations https://www.transifex.com/projects/p/substanced/resource/master/ (let me know if you like the idea, I'll add you as owner to Pylons organization)