Fix for stat tracker reporting incorrect execution delay due to recurring tasks.
Also fixed not synchronizing when needed to do so, and not limiting the max window size.
This resolves #49 ....thus providing the ability to reset the statistics within the tracker.
Fixed unit tests and added unit test for clearing statistics
Reduced synchronization in statistics tracker to prevent the tracker from changing the behvaior (particularly from reading out the stats)
Added some simple functionality to the profiler:
* Profiler no longer implements runnable, to prevent the temptation of a user from trying to run it themselves
* Profiler now accepts an executor in the start function if you wish to prevent it from starting it's own thread (possibly if you wanted to start/stop the executor frequently)
* Profiler has added functionality to query if it is currently running
* Profiler has the ability to be extended a bit easier

And the new changes are covered under the unit tests
Fix for missing javadoc comment
Added a new varriant of the profiler, where you can explicitly control which threads are being profiled
More unit test coverage around the profiler.
Added a small additional function to be able to tell how many threads are currently being tracked by the ControlledThreadProfiler
Reduced unit test code duplication, as well as hopefully more reliable profile unit tests on slow EC2 machines.  On fast machines, this will hopefully speed up the unit tests.
Version changes for the 0.9 release!
Updated versions to 1.0.0-SNAPSHOT
Merge remote branch 'origin/master' into gradle_changes