config: Add support for formating with commented out defaults

- Changes inline comments to ; for configparser conformance
config: Add format_initial helper to populate empty configs.
utils: Add mkdir and content options to get_or_create_file

This lets callers control is parent directories are created, and set the
default content of the file.
config: Initialize config with defaults

Try and create args.config_file[-1] with the default config commented out.
We assume that the directory the config file is in exists.
config: Fix review comments.
Merge pull request #588 from adamcik/feature/config-defaults

Initialize config with commented out defaults.
docs: Update changelog
docs: Update changelog for v0.17.0
Bump version to 0.17.0
Release v0.17.0
setup: Fix capitalization of CherryPy package
docs: Use twine for uploading sdist/bdist_wheel
mpd: Format multiline patterns properly in docs
docs: Fix reference
mpd: Format multiline patterns properly, second try
mpd: Format multiline patterns properly in docs

(cherry picked from commit e2b36cb0f0702f44a25fcec79cca8dd3b3bded43)
docs: Fix reference

(cherry picked from commit 13fb2bf6048b1045d18ce708b9463585daf536de)
mpd: Format multiline patterns properly, second try

(cherry picked from commit f383e9ad4825d9d38de92eb2ddf207d97af62c43)
Merge branch 'master' into develop
listeners: Make listeners async

- Add a common Listener base class
- Make send helper for sending out events with pykka
- Make send async helper for avoiding blocking events

This change ensures all the events now get sent out via the MainThread instead
of blocking the actors.