Implement a Ninja Metrics module

Applications will need to be manually instrumented by:

1. Adding the optional ninja-metrics dependency
2. Installing the MetricsModule in their conf.Module class
3. Subclassing InstrumentedNinja in their conf.Ninja class
4. Applications may optionally instrument their NinjaCache

Ninja-Metrics will collect data on controller methods annotated
as @Metered or @Timed.  Non-annotated controller methods are
largely ignored except for general count collection.

InstrumentedNinja will monitor bad requests, internal server errors,
and routes not found. It will also keep a real-time count of active
requests.

To try this out:

1. `mvn install` in the repository root
2. `mvn ninja:run` in the ninja-servlet-integration-test
3. Startup VisualVM
4. Install the MBeans plugin through the Tools->Plugins  menu
5. Drill into the NinjaJetty instance listed in VisualVM and select the *MBeans* tab
6. Browse the test app and click on the different available *ninja.cache* and *ninja.requests* metrics
Added interceptors to measure everything (™).
More cleanup for metrics.
Some potential code refinments.
Some more improvements for Metrics.
Fixed problem with wrong source level. Now fixed to 1.7.
Reduce to one metric registry, specify ninja.* names, setup JMX with app name
Use injected MetricRegistry
Add optional JVM and Logback Metrics integration
Add optional integrations for Graphite and Ganglia
Extracted Ganglia & Graphite reporters into separate jars, added Librato reporter
Added InfluxDB Metrics reporter
Added @Counted annotation and matching MethodInterceptor logic
Disable MBeans by default and clarify VisualVM/JConsole/JMX documentation
Allow Metrics reporting frequency to be configurable per-reporter
Merge pull request #196 from gitblit/metrics

Add integrated Metrics support