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
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.
listeners: Import grouping fix
Merge pull request #594 from adamcik/feature/async-listeners

listeners: Make listeners async
logging: Remove use of root logger
local: Start moving tag cache code out of main local
local: Move tag cache translators and tests out.
docs: Update changelog
main: Only log creation of config when file does not exist.
core: Refactor core Backends helper

Replaces the jungle of extra dicts/lists with an OrderedDict per backend
feature type. Also makes sure that each type/scheme is unique instead of
the scheme alone.
local: Always return track with just uri for local playlist tracks

This is related to #527, but is only a stop gap until we fix it right. Note
that this actually causes a regression, as not playlist tracks will have any
metadata after this change.
tagcache: Split out to own extension for eventual deletion.
utils: Remove find_uris and update find_files

- find_uris is no more
- find_files now returns file paths relative to path being searched
- find_files now only works on directories
- find_files tests have been updated to reflect changes
- local scanner has gotten a minimal update to reflect this alteration
local: Fix inconsistent uri handling in local scanner

We now only operate on local track uris, instead of a funny mix of local and
file uris. To achieve this we instead maintain a uri->path mapping to use for
the actual scanning.
local: Move find_exact and search out of tag cache.