Change versions for 1.3.0 release
Merge branch 'master' into unstable_staging

Conflicts:
	build.gradle
	build.upload
	pom.xml
Added implementation for an executor that only allows tasks to be executed at a given rate.
Unlike the ExecutorLimiter, instead of limiting based off concurrency, it schedules out tasks based off a rate (so lots of tiny tasks could run in parallel, but one large task may have to run in isolations).
I decided to squash all the commits in this merge.  Originally this was going to be in the 1.3.0 release, but I decided it makes more sense to go with the 2.0.0 release.  This includes the implementation and all the unit testing for this new feature.