Improvements to the extension system

- Add category metadata in every extension
- Show this category in the extension list gui
- Add "mandatory_in" and "disable-in" configuration for an extension
- Add Ubuntu unity check to enable/disable unity specific extensions
- Move "gpodder.win32" and "gpodder.osx" setting to the "gpodder.ui" namespace to be able to use it in the extensions category settings
- Only show metadata information in the right-click dialog of an extension
Model: Day, month and year for custom filename (bug 1768)

Users can now use the following fields to customize the
sync filename when using MP3 player device sync:

  {episode.pubdate_year} - Year of publication (without century)
  {episode.pubdate_month} - Month of publication (01-12)
  {episode.pubdate_day} - Day of publication (01-31)

In addition to these fields, {episode.sortdate} is still
provided and gives YYYY-MM-DD as result (just like before).
Testing framework: Add support for unit tests

Previously, we have only supported doctests - now we also have
support for proper unit tests in the gpodder.test package, and
already the first test case for gpodder.model.
Testing: Add support for HTMLTestRunner reports
M4A Converter: Check file extension (bug 1770)
Extensions: Support both libav and ffmpeg (bug 1773)

Dear libav and ffmpeg developers, thanks for having two
different codebases, and thanks for making it even harder
to use a single command (either "ffmpeg" or "avconv") from
third party applications. If it weren't for you, we would
not have spend some quality time fixing this bug...
bin/gpo: Spelling fix: Ambigous -> Ambiguous
Extensions: Add option to remove all tags (bug 1771)

Add a new option to the tagging extension
marked episode(s) as played when enqueue (bug 1749)
Windows: Encoding issue in notifications (bug 1744)

See also: https://github.com/gpodder/gpodder/pull/70
Util: Improve parse_time()
Correct ffmpeg/avconv extensions for Windows (bug 1773)

On Windows systems the command-name includes the extension .exe
When reading the dictionary for the right command parameters we
have to remove the extension to find the correct entry

Also remove a false variable name (e instead of episode)
Device sync: Fix sync when playlists are disabled (bug 1769)
tools/localdepends.py: Fix https link usage
QML UI: Generalize PullDownHandle
QML UI: Remove unused items and artwork files
QML UI: Move shownotes into its own Page
QML UI: Remove nowPlayingThrobber from Main
QML UI: Subscribe UI as separate Page
QML UI: Move Episode list into its own Page