Use a smarter method to extract track number from filename.

When file has no metadata field indicating the track number, Picard
is trying to guess it from filename, but the simple regex wasn't very efficient.

tracknum_from_filename() does a much better job.
A test case was added.
Use an url builder to simplify code.

_url() will ensure correct query building, encoding, query parameters are passed
as a dictionary
Add options to control browser integration (enabled/disabled and listening port)
Rename "Web Proxy" option page to "Network"

Settings for web proxy are still there, but we'll add browser integration
options to this option page too.
Move Browser Integration options to Advanced > Network option page
Add a real life test for track number case extraction
Remove now unused FileLookup._encode().
Merge pull request #154 from zas/browser_options

Browser options
Move constant regexps outside the `tracknum_from_filename()` function
Merge pull request #151 from zas/tracknum

Use a smarter method to extract track number from filename.
Fix issue with date format yyyy-mm

MB sometimes gives dates in form yyyy-mm. Mutagen cannot save id3v23
dates in this format and truncates them to yyyy. Then they don't match
when the file is reloaded.

This fix detects New metadata dates in this format and truncates them.
Adjust the replaygain plugin to the changes in threading
Fix stupid coding error in mimeo comment response.
Improve conformance to PEP8, tidy up.
Unify comment style
Merge pull request #156 from zas/pep8_plugins

Improve conformance to PEP8, tidy up.
Add 'Audio' to the categories in the .desktop file

As per
http://blogs.gnome.org/hughsie/2013/09/03/broken-desktop-files/
it should have both 'AudioVideo' and one or both of 'Audio' or 'Video'
in order to be categorized correctly.
Merge pull request #157 from kepstin/desktop-fix

Add 'Audio' to the categories in the .desktop file
Rename internal trackid to recordingid, add a new tag for trackids.
Fix the track test to include track mbid, change internal recording id name