Surface the response fingerprint as a string in the API

Partly because strings are immutable, and partly because they'll be
strings in Curator.
Make pingInfo a tiny bit more Scala-friendly

It still has a nullary ctor and vars, but the nullary ctor is @deprecated
with a message telling users that it's for jackson only, and there is
a proper ctor for user use.
Add AuxiliaryData for placing in a Curator payload
Massive rework of the HttpClient interface, moving to more of a builder approach