'k1&k2=v' is not necessarily the same as 'k1=&k2=v'.

Add a check to ensure that if a variable name is a bareword (i.e.
there's no trailing '='), its presence is noted by setting its
value to true (to indicate that it was present). Empty variables will
still have an empty value like usual.

As the comment says, this might just be more confusing than it's worth
for everybody, so it might not last.
Don't drop leading slashes on per-segment rules.
Merge branch 'release'
Regression prevention through documentation.
URL is an acronym, not a word.
Simplified & rationalized metric name normalization.

Squared the normalization algorithm against the Java agent's, and added
additional tests.
why dat name so long
Ignore transactions when normalization rules tell us to.
Mocha changed its output format for the list reporter.
Added documentation.
Sooner or later, everyone writes their own version of deepEqual.
Documentation tweak.
Clarified documentation.
Reworked DataSender (again) to improve its error handling.

It needed some serious work because it was hard to follow and very
poorly factored before, which made it unreasonably difficult to figure
out where faults lay and to centralize error-handling.
Added tests and tweaked error messages.
A couple more tests around response handling.
Don't add duplicate metric normalization rules to ruleset.

This is the primary intended consumer to deepEqual.

Also simplified the metric normalization rule class.
Updated documentation for new release.