Add mysql

This branch makes several changes to enable the mysql relation.

* Database configuration is broken out into a separate module, dbconfig.js, which is required by config.js
* Two templates, sqlite.js.template and mysql.js.template are used to generate dbconfig.js
* The functions that updated the config on config-changed have been abstracted to utils, so it can be used both for config-changed, and for db-relation-added
* Interface data has been added to metadata.yaml

A file based switch has been added, in the form of the existence of a file named "mysql" in the charm dir. This is used by config-changed to determine if it needs to copy in the sqlite db config, as it does on the initial deploy.