Create '/metrics' endpoint for otter.

 - Add a route, model method, and cql query.
 - This includes a test for the return value from the cassandra model.
 - '__init__.py' import required for route to be loaded.
Add missing colon in config.json.
Endpoint correctly setup to return a response.

The function was missing the 'with_transaction_id' decorator, and the
cql call was missing an required empty dictionary.
Enable 'make mockrun' to actually run.

'make mockrun' fails when *scheduler* and *mock* is set in the config.
This is because the scheduler setup requires that *cassandra_cluster*
has been set before hand, and this does not happen when running with
'--mock'.
Mock model method for get_metrics.
Otter Admin Application Setup

- Service setup, and options very similar to base otter app.
- Make commands for running admin with and without a mock backend
- Import of the Klein app so that the routes are registered
- Base route '/' that returns nothing. Ability to verify service
  available, and may be changed later to return relevant data.
Fix cass model test to reflect previous fix.

The previous fix was for a missing dictionary being passed to
CQLClient.execute.
Test for get_metrics on a mocked model.
Use class based version of Klein for admin app.

This currently does not work because the rest decorators expect
functions, not methods.
Remove use of decorators for OtterAdmin app.

This fixes the issue of not being able to send requests to the
endpoints, but does not provide logging of transactions. This may or
maynot be important though.
Add CassAdmin, MockAdmin, IAdmin. No more globals.

CassAdmin and MockAdmin both implement IAdmin. IAdmin defines the
interface for admin methods, and currenly only contains `get_metrics`.

get_store and set_store are not used in the OtterAdmin app. The store
is passed as the first argument to OtterAdmin, and defaults to MockAdmin
if none is passed in.
Fix tests for CassAdmin and MockAdmin.

Adds two TestCase classes for MockAdmin and CassAdmin.
Moves tests for `get_metrics` to these classes from
{Cass,Mock}ScalingGroupCollectionTestCase.
Change admin plugin to be a subservice.

- Removes Makefile commands for 'admin' and 'mockadmin'
- Adds 'admin' and 'a' option to plugin.
Fix tests for API Options, Add tests for admin port

Tests for 'port' in the APIOptions were failing because
`assert_called_with` was being used and a new subservice was added. This
made calls to `Site` happen twice. `assert_called_with` only looks at
the most recent call, and since the admin subservice was added after the
root service, the test was failing with the wrong call.
Forgot to rename function.
Swap OtterAdmin store setting logic.

Instead of checking for store being set, intially check for store _not_
being set.
Change OtterAdmin methods to be like other routes.

- Adds with_transaction_id, fails_with, and succeeds_with decorators.
WIP: Metrics Endpoint
First step in convertion to non-global state.

- A base Klein app that handles setting the content-type to
  'application/json' for all responses, and holding a store reference,
  has been added in `otter/rest/base.py`.
- Routes for /v1.0/<tenantId>/group have been collected into OtterGroup,
  while routes for /v1.0/<tenantId>/group/<groupId>/ have been collected
  into OtterGroupActions.
- Utility functions that were originally in `otter/rest/application.py`
  have been moved to `otter/util/http.py` as they were already using
  functions from there and are related to web requests.
Removed extra Klein app for OtterGroups.

This is more explicit and make organization of endpoints easier.