utils: Handle paths with non-UTF-8 encodings

- path_to_uri() encodes unicode input as UTF-8 and leaves bytestring input
  unchanged before it is converted to file:// URIs.

- uri_to_path() will now always return bytestrings, since we don't know if
  there is any non-UTF-8 encoded chars in the file path, and converting it to
  unicode would make such paths no longer match the dir or file it was
  referring to.

- split_path() will now assume it gets a bytestring in.
utils: find_files() returns bytestrings
mpd: Use bytestrings in dir tree building
mpd: urlencode any non-UTF-8 path so it can be displayed as UTF-8
mpd: Use relative urlencoded paths in tag cache

This partly reverts "beac2e8 mpd: Use file:// URIs in tag_cache" by removing
the "file://" URI scheme and the music dir base path from the "file:" fields in
the tag cache.

The advantage is that the tag cache becomes independent of the music dir
location and the tag cache loader can be made compatible with both old and new
tag caches.
local: Support tag caches with urlencoded paths

This adds support for loading tag caches where the "file:" field has urlencoded
paths. For old tag caches without the urlencoding, this is a noop. Thus, old
tag caches continues to work.
docs: Update changelog
local: Fix typo
mpd: Revert full URI in tag cache test as well
tests: Fix error message
Use urllib.{quote,unquote} instead of {pathname2url,url2pathname}
Merge pull request #276 from jodal/feature/scanner-encoding-support

Scanner encoding support
Bump version number to 0.10.0
spotify: pyspotify 1.9 and 1.10 are both supported
docs: Update changelog for v0.10.0
Release v0.10.0
travis: mopidy package now Recommends cherrypy and ws4py
docs: Add HTTP frontends to frontend impls list
docs: Fix syntax error in example
docs: Fix typo