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.
Add a real life test for track number case extraction
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.