fix array construction and add test to help debugging
consistent assertions
add another small test to prove to myself that assignment works the way i think it does
add assertion to help debugging
distinguish between latency measurements of timeline checks that are done after new subscriptions. possibly tease out added cost of lazy updates.
Add std::hash detection
Json::operator== allows positive ints to equal positive unsigneds.

Bryan report.
remove duplicate test
remove assertion for unsigned sequence number.
Json::operator== allows positive ints to equal positive unsigneds.

Bryan report.
Bryan was right: forgot to merge explitly-unsigned-Json support for msgpack
Json::is_unsigned() returns false for ALL signed int Jsons.

Including non-negative ones. This is probably more what a user
would expect, and makes it simple to round-trip signedness through
msgpack.
Whitespace.
Add Json::is_posint().

Json::is_unsigned() means, literally, This Json is unsigned
(was constructed from an unsigned type).
Json::is_posint() means This Json is unsigned or positive.
In msgpack encoding, it is not always smart to preserve signedness
through the encoding---specifically, consider 0; the one-byte encoding
of zero is nominally signed, but one really wants to use it for
unsigned ints too. (Either that or it is nominally unsigned and one
wants to use it for signed ints too.)