Refactored Strategies to be Extensions.

 * Added ExtensionPoint and made all Strategies Extensions.
 * Refactored and optimised priority to weight calculations.
 * Added more tests for calculations.
 * Bumped Jenkins version to 1.520 to use QueueListener