PEP8: run travis checks

- Use a subset of PEP8 checks like in Toolkit
- Add make pep8
- Add pep8 checks to travis
PEP8: W601 .has_key() is deprecated, use 'in'
PEP8: E261 at least two spaces before inline comment
PEP8: E262 inline comment should start with '# '
PEP8: E271 multiple spaces after keyword
PEP8: W293 blank line contains whitespace
PEP8: E203 whitespace before ','
PEP8: E231 missing whitespace after ','
PEP8: E225 missing whitespace around operator
PEP8: E251 unexpected spaces around keyword / parameter equals
PEP8: turn E251 on by default for travis
travis: already prints Python version info
Revert "Fix adding tags"

This reverts commit aa04852e9b9c6a88f4c68c5b9d7502fde1b7b8cc.

Next commit will fix it in a less hacky way.
Unbreak AJAX views using @get_path_obj

Since a81fa7b8f477eb9ab4b2bd8b9cacfdcc8630b566 @get_path_obj requires
that the request provide a ‘path’, but most of our AJAX requests do not
provide one, which breaks views that use @get_path_obj, so relax this
requirement and use the ‘path’ only when provided.
langpicker: Various UI fixes

See bug #3181
js: Update select2 to 3.4.5

One of the things we need most of all is diacritics support, for the
language picker.

See: https://github.com/ivaynberg/select2/issues/1472
breadcrumbs: Remove the style="visibility: hidden" from select2 menus

The select2 update takes care of doing this for us; if we leave it in
the initial style the select2 menu will copy it and the menu disappears.
js: Update the languages.js file to match LINGUAS