save translated items using http accept

uses http accept to determine the language and then updates/created
translation objects for the saved data
Add a language switcher

At the moment we're limiting this to one of two languages so this also
involves adding an alternative language setting to the instance.

Also, refactor out the code to get the different languages to it's own
method which now checks the session for language and overrides the http
accept set language with that.

Plus template for language switcher, and inclusion thereof in
templates