Changed pep8 checker and hook to env python2

Previously used just 'python', which fails on systems where this
defaults to python3 (i.e. Arch Linux).
Changed env python to env python2
Added App.get_settings_widget to let user override
Added settings display method

Can be overridden to display settings panel in different ways.
Fixed open_settings documentation

Documentation now explains use of display_settings, which user can
override to change how the settings panel is shown.
Fixed rst documentation for App.display_settings
Remove accidental whitespace line
Class links in App.get_settings_widget docstring
Replaced Settings.py internals

Replaced Settings class, added menu and content classes, and changed the
definition of the SettingSidebarLabel class.
Added several Settings subclasses
First documentation run for new widgets
Second documentation run, fixes

Improved App.get_settings_widget docstring
More documentation
Fix doc/Makefile for Arch python2
:q!
Revert typo commit...

This reverts commit 908d8a3d4a80170d8b8bddd650d07c6cefe695f1.
Removed get_settings_widget in favour of class var
Module level documentation for settings changes
Added destroy_settings and associated docs

Also module documentation about open_settings and close_settings and
display_settings.
Make settings_widget an ObjectProperty