Searching for music library tracks, finding all artists' albums and artist's album's tracks.

Adds searching for music library tracks, finding all artists' albums and artist's album's tracks.

This adds a set of search methods for the *music library* (not music services) by the means of updating `get_music_library_information` to support fuzzy searches, category searches and getting all matches by handling paging through results.

The new methods (that all call `get_music_library_information` with the new args) are:
* `search_tracks`: to find everything for an artist, artist+album, artist+album+track combinations
* `get_albums_for_artist` to get all albums for an artist
* `get_tracks_for_album` to get all tracks on an artist's album

The code works well and I've used this to search for a bunch of music library tracks automatically. It took a while to get the Unicode and URL encoding working especially from py2.6 to 3.x.  I also added a new compatibility call quote_path from urllib or urllib.parse (py3) that is used by new utility function `url_escape_path`. 

@KennethNielsen I thought @stefankoegl was refering to the '701' error code, but maybe the 10000 is also worth making a constant too.