Add an optional requires manifest value

As integrators of pf4j evovle their extension APIs it will become
a requirement to specify a minimum system version for loading plugins.
Loading & starting a newer plugin on an older system could result in
runtime failures due to method signature changes or other class
differences.

This change adds a manifest attribute to specify a 'requires' version
which is a minmum system version.  It also introduces a method to
specify the system version of the plugin manager and logic to disable
plugins on load if the system version is too old.  This works for both
loadPlugins() and loadPlugin().
Move requires logic to isPluginValid(PluginWrapper), rename default version to ZERO
Merge pull request #15 from gitblit/requires

Add an optional requires manifest value