Return interface instead of implementation for IResourceTaskReference.getProvider.
Fix BlockedTaskedIdsParser to use collections instead of arrays.
Add verification step in unit test.
Rename DirectoryIteratingTaskScanner to ResourceTaskScanner.
Nit.
Introduce extension point for Resource Task Providers.

This involved refactoring and reducing all the repeated code for extension points, making things way simpler.

Also standardized all the extension point APIs to return get() and rely on Guava supplier(), which is acceptable internally.
Files missing from prior, pushed, commit.
Update to 0.3.5, which introduces resource task provider extension point.
Actually expose the resourcetaskproviders extension point, and use it to
register the task providers specified in preferences.

Other related and un-related changes:
* Added PreferenceResourceTaskProvider, which handles finding tasks in
  directories specified in the preferences, and replaces the now-deleted
  RegisteredTaskProviderSupplier. What a name.
* Remove the awful IResourceTaskProvider.initialize method with static
  factory methods. I still wish there was a way to turn the two
  collectTaskReferences into one method, other than removing
  ClassFileTaskScanner.
* Added a CompositeResourceTaskProvider which merely delegated calls to
  multiple task providers.
* Generalize the notion of a Collector with ICollector and ListCollector.
  (Overkill?)
* Add forcePluginActivation to the SimpleProxy.
* Other minor tweaks
Fix FileTaskProviderTest, and also rewrite FileTaskProvider. Thank
goodness system properties are so malleable.
Remove implementation from interface definition (IMechanicPreferences)
Rename SimpleExtenionPointHelper to SimpleExtenionPointManager, and
provide some, you know, proper documentation. Not to mention make the
thing an instance class, which improves your life a bit. I should write
some tests, eh?
Move to 0.3.6.
Fix case where we will wind up logging whenever a task path doesn't have the class path directory.
Bump to 0.3.7
Replace copyright notices in keybinding package.
Removing CompositeTask.getId(), because it will introduce more problems
than solutions.
Add comments around the requirements for IResourceTaskProvider and
IResourceTaskReference.
Introducing the Workspace Mechanic Samples project.
Make samples library code 1.5-compatible.