changing the statsd_client lib to have a ShipperFactory, fixed the Shipper interface so all shippers can be treated the same, added a NullStatsdShipper that just clears the StatsObject every second to protect memory usage, and generified the configure() methods of all shippers to take JsonNode arguments that can be de-serialized into the correct configuration object per Shipper type