Created a QueueGroup that manages per-tenant queues of different
types, such as per tenant solver queues, per tenant task queues,
etc.  Also did some cleanup around unused code that would timeout
elements in queues. It is no longer scalable to use a thread for
each queue for cleanup purposes.
small cleanup removing warnings.
adding upgrade code for upgrading from 0.9.7 to 0.9.8.
Will keep a set of codecs for serializing/deserializing current
objects, and a separate set for converting between versions.
Switched to use guice injection to create the codec everywhere.
adding apis and store for provisioner information, such as the
number of workers running on each provisioner for each tenant.
removing unused code with provisioner status and assign time, and
adding a convenience function for getting a db connection with
auto commit on since thats the vast majority.
fixing heartbeat and expire bugs, and adding more logging.
mock multitenant provisioner for testing purposes.
adding more unit tests.
add documentation for superadmin provisioner apis and changelog.
update changelog with upgrade script.
adding docs for config settings for provisioner requests and
doing some cleanup to simplify building the http client.
just remove the tenant completely from the heartbeat if the live
worker count drops to 0 instead of sending it with a count of 0.
Merge remote-tracking branch 'origin/develop' into feature/tenant-queues

Conflicts:
	server/src/main/java/com/continuuity/loom/guice/LoomModules.java
	server/src/main/java/com/continuuity/loom/runtime/LoomServerMain.java
	server/src/main/java/com/continuuity/loom/scheduler/CallbackScheduler.java
	server/src/main/java/com/continuuity/loom/scheduler/ClusterCleanup.java
	server/src/test/java/com/continuuity/loom/BaseTest.java
	server/src/test/java/com/continuuity/loom/http/LoomClusterHandlerTest.java
	server/src/test/java/com/continuuity/loom/http/LoomServiceTestBase.java
	server/src/test/java/com/continuuity/loom/scheduler/ClusterCleanupTest.java
	server/src/test/java/com/continuuity/loom/scheduler/SchedulerTest.java
	server/src/test/java/com/continuuity/loom/scheduler/SolverSchedulerTest.java
adding javadocs and comments on new queue group classes.
Merge pull request #253 from continuuity/feature/tenant-queues

Feature/tenant queues
Merge remote-tracking branch 'origin/develop' into feature/db-migration

Conflicts:
	server/src/main/java/com/continuuity/loom/http/handler/LoomClusterHandler.java
	server/src/main/java/com/continuuity/loom/scheduler/CallbackScheduler.java
	server/src/main/java/com/continuuity/loom/scheduler/ClusterScheduler.java
	server/src/main/java/com/continuuity/loom/scheduler/JobScheduler.java
	server/src/main/java/com/continuuity/loom/scheduler/SolverScheduler.java
	server/src/main/java/com/continuuity/loom/scheduler/task/ClusterService.java
	server/src/main/java/com/continuuity/loom/scheduler/task/TaskService.java
	server/src/main/java/com/continuuity/loom/store/cluster/SQLClusterStoreService.java
	server/src/test/java/com/continuuity/loom/http/LoomClusterHandlerTest.java
	server/src/test/java/com/continuuity/loom/scheduler/ClusterCleanupTest.java
	server/src/test/java/com/continuuity/loom/scheduler/SchedulerTest.java
	server/src/test/java/com/continuuity/loom/scheduler/SolverSchedulerTest.java
Merge remote-tracking branch 'origin/develop' into feature/provisioner-apis

Conflicts:
	server/src/main/java/com/continuuity/loom/common/conf/Constants.java
	server/src/main/java/com/continuuity/loom/common/queue/guice/QueueModule.java
	server/src/main/java/com/continuuity/loom/scheduler/JobScheduler.java
	server/src/main/java/com/continuuity/loom/scheduler/task/ClusterService.java
	server/src/test/java/com/continuuity/loom/BaseTest.java
	server/src/test/java/com/continuuity/loom/http/LoomServiceTestBase.java
Update README.md
Add X-Loom-TenantID header
Switch from tabs to spaces