Merge branch 'hotfix/2.0.0-BETA16-with-2.9.1'
Merge branch 'release/2.0.0-BETA17'
Update metrics-ganglia/src/main/java/com/yammer/metrics/reporting/GangliaReporter.java
Refactor how reporters interact with metrics.

= Origin
The core of this refactoring is the introduction of the MetricsProcessor
interface which now all the reporters implement. The primary driver here
is to eliminate a slew of code blocks following this pattern:

    if(metric instanceof Timer) {
        ...
    } else if(metric instanceof Counter) {
        ...
    }
    ...etc...

So there's now a MetricsProcessor that solves this and forces it's
implementors to handle all different metric types. An effect of this is that
introducing a new type of metric will trickle down to all reporters and
implementors of this is interface.

= Collateral changes
In the process of getting this in place the following has also happened:
- New interface: "Summarized" that groups min(), max(), mean(), stdDev()
- New interface: "Percentiled" that groups percentile(double) and
  percentiles(Double...)
- A lot of tests for reporters have been added (thanks to @jebl01)
- Utils.sortAndFilterMetrics() now returns the MetricName in its result
- Added Utils.filterMetrics() to only filter based on a MetricPredicate

The two new interfaces also allowed elimination of duplication in some
of the reporters.
Ganglia: when compressing package names leave the last element of package unchanged to make metrics more readable
cache arrays to avoid memory allocation in HistogramMetric.updateVariance()
Merge pull request #129 from ciamac/development

cache arrays to avoid memory allocation in HistogramMetric
Merge pull request #127 from chids/reporter-refactoring

Refactor how reporters interact with metrics.
Merge pull request #126 from tobli/patch-1

Fix url typo in javadoc
Merge pull request #128 from abramsm/dev2

Ganglia: leave last element of package unchanged when compressing package names
Fix a lot of style issues.

Going forward, I'm going to be much pickier about this.

In terms of style, I'm going to insist on:
* braces on the same line as the method declaration/control statement
* four spaces for indentation, not tabs

I would greatly prefer
* either full JavaDoc or no JavaDoc; not halfway
* final local variables if you're not re-assigning them
Fix the locking for ExponentiallyDecayingSample.
fix compilation issue in GangliaReporterTest
Merge pull request #130 from abramsm/dev2

fix compilation issue in GangliaReporterTest
Made GaugeMetric#processWith final.

Since it's the only metrics class that gets extended, this will prevent folks from accidentally overriding it.
Back out change to GaugeMetric.

I guess we're mocking it, which doesn't play nicely with final methods.
Fix metric sorting.

Closes #131.
Deploy to the Sonatype OSS repos.
Deploy javadocs as well as sources.
Why not default to UTF-8?

TOO SIMPLE