Delegate to jmx agent in jdk instead of using a custom one

The JDK agent has a mechanism for registering itself with the JVM
instrumentation buffer, which is required for proper integration
with jstatd and supporting VisualGC when connecting to the the process
from VisualVM
Remove spurious import
Give TimeStat nanosecond resolution
Add Closeables to testing module
Add copy constructor to Distribution
Add ConfigurationAwareProvider interface.

Providers implementing this interface get access to the
ConfigurationFactory during bootstrap phase, can consume properties
from the factory and build custom configured objects.
Add a config loader for the classpath.

Allows loading a properties object from the classpath and expose the
result as a Map suitable for a Configuration factory.
Update Logging code for Java 7
Add management wrapper for thread pool executor
Add ability to weight values added to QuantileDigest
Add 1,5,10, and 25 percentiles to Distribution
Add manual percentile specification to Distribution getPercentiles
Remove bogus comment
Switch to jmxutils ExportBinder API
Don't try to start the JMX agent if it's already running

This is to allow starting the VM with com.sun.management.jmxremote.* options to initialize the JMX agent on startup and work around the issue described in http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-August/011455.html
Expose jmx connector agent url and add test
Fix config record comparison

Make sure that two config records, that have been created from Config
objects with keys, that compare equal in annotation type and type
literal do not compare equal. Otherwise, the configuration keys consumed
by those ConfigRecords are not displayed.
Add byte array methods for JsonCodec
Remove disabled code for printing JMX objects
Change DataSize toString to round to two decimal places