Ignore .py.bak files created when compiling templates
Cleanup system configuration module

- Add license header
- Fix pylint, pep8 and pyflakes warnings and errors
- Fix incorrect use of gettext._()
- Don't store hostname and timezone in Plinth storage. Instead use
  values from probing the system
- Don't use exec()
- Other minor refactorings
Dont use exec for importing templates
Dont use exec() in system/wan module

Also make the form submission actually work by adding hidden form
value and '/' at the end of form submission URL.
Dont use exec() in plugin system
Dont use exec() in router module
Minor i18n fixes for pagekite
Add a framework for working with services

- Basic information about each service is available for consumers
- Information about whether service is enabled or disabled is available
- Interested parties may listen to enabling/disabling of a service
- Information about some core services are made available
Basic firewall sevice based on FirewallD

- Ports are allowed in default zone as soon as a service is enabled
- Ports are disabled when all services depending on the port are disabled
- Shows current enabled state of services and their each of thier ports
Make ownCloud work with service framework

- This allows firewall to manage ports automatically
Make XMPP work with service framework

- This allows firewall to manage ports automatically
Add a first-run script to be run by freedombox-setup to setup initial state of firewall
Merge: Sunil's exec commits.
Merge: Sunil's firewall branch.
Add more firewalld service and fix typo in one
Add support for zones in firewall service
Setup network interfaces into external and internal zones

This replaces the /etc/init.d/(freedombox-)proxy script
that enables masquerading traffic from internal interface
using and external interface. It makes the same assumptions
about the nature of network interfaces as the proxy script.

FirewallD automatcially takes care of loading masquerading
modules, enabling kernel parameter for forwarding and
allowing masquerading using external interfaces.
Merge: Sunil's firewall branch (follow up commits).
Be explicit about running commands as the superuser.

superuser=True is a surprising default.  Not happy-rainbow-surprising
but more dropping-a-large-rock-on-your-foot surprising.
Remove unused import.