add: json backend to store user preferences

- json files are stored in userdata/
- sessions are now used, to keep the language preference
  - sessions are file-based and stored in sessiondata/, this can be
    easily changed
- userprefs.py manages the json files and provides methods to get
  the preferences and update them
add: rest interface for user preferences
add: unittests for user preferences
userprefs: replace  theme hook by context preprocessor
remove session_file_path

If not provided, Django will generate at tmp one for us.
Oh and Travis seems not to like it.
update message for saved preferences
update: default location fot user data
woops, untabify
rename: s/userprefs/userdata

and refactor userdata.User.__init__, to accept a Request as an
argument, instead of username.
woops, debugging code should not be here
update: userdata" parameters passed between methods for the Request
update: compatibility with python 2.6

remove dict comprehension :-(
add: trigger_hooks for user preferences at each page load

This permits the correct language to be used, when a user logs in
for example.
Merge pull request #350 from matthieucan/feature-user-prefs-json

JSON backend for user preferences