Add track metadata plugin priority processing

All track metadata processors are equal but some are more equal than
others.

This commit allows a track metadata plugin to register with high
priority, and to run before plugins which are not high priority. This is
needed for the Standardize Performers plugin.
Add Standardise Performers plugin
Add NEWS
Add weight parameter to metadata_processors

Processors having more weight will be run first, default weight is 0.
Set default weights to 50 ...

... so we can have plugins with lower than default priority.
Set default weights to 100...

and plugin weight to 200.
Add PluginPriority and PluginFunctions classes

PluginPriority defines few common values for plugin execution priority.

PluginFunctions wraps ExtensionPoint and use defaultdict() to handle priorities.
It also provide a register() and a run() methods.
Use PluginFunctions and PluginPriority to reduce code redundancy.

weight was renamed priority
Execution loops were replaced by PluginFunctions.run() call
Use PluginPriority.HIGH and rename weight to priority
Try to run on previous Picard versions at normal priority.

Since there is no PluginPriority on previous Picard versions, this plugin will
raise an exception, better catch it and emit a warning.

Sophist said:
"It will work in most cases at normal priority, but any other plugins that run before it will get the old performers rather than the standardized performers.
Merge pull request #4 from zas/PluginPriority

Improvements to plugin priority handling by @zas.
Add a note about optional `priority` parameter in NEWS.txt
log.warning() will take care of format parameters, '%' -> ','
Merge pull request #298 from Sophist-UK/sophist_add_standardize_performers_plugin

Add a Standardize Performers plugin ...