When changing hostname, also update ejabberd and jwchat.
Restart avahi-daemon after changing hostname to update mdns.
Rearrange xmpp hostname change scripts so we can only restart ejabberd once.
Remove dependency on improperly used and unmaintained contract module

- contract module has not see a release since 2010
- Corresponding PEP has been deferred
- python-contract module in Debian is orphaned
- We are only using contract module in one method of one module
- That can be replaced with one line of check instead of depending on an
  entire module
- The code using contract module does not work
- There is already replacement one line code that is actually working
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
Add code to enable owncloud by default using PostgreSQL.  Only need to specify the admin username and password to get going.
Dont use exec() in router module
Minor i18n fixes for pagekite
When changing XMPP hostname, make sure user accounts get copied to new database. We are back to 2 ejabberd restarts though.
Don't need 2nd restart.
Merge pull request #70 from SunilMohanAdapa/remove-contract

Remove dependency on improperly used and unmaintained contract module
Merge pull request #66 from jvalleroy/xmpp-hostname

Update XMPP and mDNS when changing hostname
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