Don't throw NPE for anonymous HealthChecks

This would fail:

```java

/** Anyonymous Healthchecks don't work because dropwizard
tries to add it's null canonical class name to Immutable list for
debug logging */

environment.addHealthCheck(new HealthCheck("Foo") {
    @Override protected Result check() throws Exception {
        final int status = jerseyClient.resource(resource).path(myPath).post(ClientResponse.class).getStatus();
        if (status != 200) {
            return Result.unhealthy("Foo should have returned 200");
        }
        return Result.healthy();
    }
});
```

These are put into an ImmutableList for debug logging.

1. Only do the list building stuff for logResources, logProviders, etc
   if LOG.isDebugEnabled()

2. Handle null canonical names by logging this instead:

com.yammer.metrics.core.HealthCheck("Foo")

With the name of the healtcheck in parens.
Update pom.xml plugins and add versions plugin

Use:

mvn versions:display-dependency-updates versions:display-plugin-updates

To report dependecy & plugin updates. Note that I only updated plugin
dependencies (have been using these versiosn for a few weeks on other
DW projects as well.)

There are also dependency updates, but did NOT changes those (Jersey
is now on 1.13, httpclient on 4.2.1, etc.)
Add Json read/write support to/from ByteBuffers

Sometimes we have a `ByteBuffer` that we need to either read a JSON
document from or write a JSON document to.

To ensure that the same Jackson configuration/feature-set is used, we
need to add support to `com.yammer.dropwizard.json.Json` for reading
from and writing to ByteBuffers.

This implementation supports both direct and "heap" (non-direct)
`ByteBuffer`s, and should be fairly efficient.

Tests are of course included and should provide complete coverage of the
changes.
Add support for configuring Jetty SslContextFactory includeProtocols

-updated the SslConfiguration object to add 'includeProtocols' property
 which is an optional List of Strings specifying SSL protocols to enable
 in the SSL Context Factory. I'm not very happy with the name of this
 configuration parameter but it matches the corresponding configuration
 parameter in Jetty so I didn't want to rename it just for the sake of
 asthetics.

-if specified, pass the set includeProtocols on SslContextFactory. The
 behaviour of the includeProtocols List on SslContextFactory is to
 take the intersection of the includeProtocols and the available SSL
 protocols in the JVM and use that as the list of active SSL protocols.
 As such, I didn't add any validation to the values in the list, if
 an invalid value is specified, it will be ignored.

configuration looks like (YAML):

http:
  connectorType: legacy+ssl
  ssl:
    includeProtocols:
    - TLSv1
    - SSLv3
fixup: remove unused import
Merge remote-tracking branch 'upstream/master'
Add support for Optional<?>.

Reuses Jersey's string readers to provide support for Optional<Integer> etc.

Closes #111.
Merge pull request #129 from asinger/pr/update-plugins

Update pom.xml plugins and add versions plugin
Merge pull request #128 from asinger/pr/anon-healthchecks

Don't throw NPE for anonymous HealthChecks
Merge pull request #131 from cfieber/master

Add support for configuring Jetty SslContextFactory includeProtocols
Merge pull request #130 from nicktelford/feature/json-bytebuffers

Add Json read/write support to/from ByteBuffers
Make variables in Json final.
Make SslConfiguration#includedProtocols immutable.
Upgrade to Jackson 1.9.8.
Upgrade to Jersey 1.13.
Remove old jersey-freemarker dependency.
Upgrade to tomcat-dbcp 7.0.28.
Upgrade to HttpClient 4.2.1.
Upgrade to Guava 13.0-rc1.
SSL should default to SSLv3, TLSv1-TLSv1.2.

If a JRE doesn't support any of these it just won't use them.