Fetch version numbers and copyright year from Git

Instead of committing a change for each release to update the release
number for the application and provider, use the output from git describe
(minus the commit hash for the actual version, but full output stored in
informational version).  Also use the date of the most recent commit to
set the 'to' copyright year in the assemblies.  This is a tidied up and
expanded version of https://gist.github.com/thoemmi/3483648.
Make Windows build and publish scripts more robust

- Adjust the flags passed to MSBuild from the common Windows build
  script so that a compile or StyleCop warning will cause the build
  to fail.
- Fail the build if FxCop produces any warnings.
- Make all of the scripts able to be run from a different working
  directory.
Improve handling of missing providers

If a subscription or favourite exists for a programme whose provider
no-longer exists, show the text <missing> instead of crashing, and improve
the message shown for a download error caused by a missing provider.
Selectively enable StyleCop documentation rules

Enable the StyleCop rules for documenting public elements, partial
elements and enums but disable them again for files violating them using a
SourceFileList node in Settings.StyleCop.  This should reduce the
likelihood of further violations creeping in while allowing the files with
issues to be fixed over time.
Also change the access modifiers on undocumented 'public' enums in
internal classes to internal to prevent spurious warnings about these not
being documented.
Provider handling class refactoring and cleanup

Bring together provider related code from the Data class and the static
plugin class into a new Provider class.  This contains both the static
initialization code to find the providers and the properties and methods
needed to store and expose the provider data and instance creation.  This
also allows access to the provider class, name, description, icon and
options handler without having to create an instance of the provider each
time one of these is required.  Also, store the loaded assemblies rather
than the path to them as this is cleaner and should improve performance.