test: removed redundant parentheses.
metrics: eliminate Metric objects

This removes a level of indirection, leads the creation of far fewer
objects during ordinary agent operation (and consequently reduces the GC
overhead imposed by the agent), simplifies serialization for delivery to
the collector, and simplifies code pretty much everywhere. It also
removes many embarrassing warts dating back to when I didn't really
understand the relationship between metric names, scopes, and
statistics. This is just simpler and better all around.
metrics: pull supportability into metric namespace.
metrics: document Metrics and mark private methods.
metrics: only access normalizer through agent

There should be only one metric normalizer in play, and anything that
needs access to it should also have access to the agent in some way.
This means that the metrics collections are now standalone, and don't
depend on the agent at all.
code: complete documentation on Transaction.
metrics: RenameRules -> MetricMapper

The idea of "renaming" a metric to an ID is very confusing, especially
when there's metric normalization around to further muddy the waters.
Since what's actually happening is mapping a name or name and scope pair
to a short ID, call it a metric mapper.

Also, don't know what's up with all this indirection. Metrics
collections need a reference to a mapper so they can exist independently
of the agent or transaction, but we should always be accessing the
mapper through the agent when possible, not another object accessible
via the agent.
metrics: simplified MetricsMapper

Eliminated the now-unused MetricsMapper.prototype.lookup, and expanded
the tests to exercise all of MetricsMapper.prototype.map's behavior.
The new version should be at least slightly faster than the other, and
is definitely simpler.
metrics: record DB-name-specific metrics

Before all of the metrics related to DB operations were recorded
entirely under the "Database/" prefix, but the TT was tracing under the
name of the specific database, e.g. MySQL or MongoDB. Now a top-level
scoped and unscoped metric is recorded for the specific database type.
metrics: MongoDB / MySQL tests had model / op swapped

Only cosmetic, didn't affect the actual instrumentation. Fixed anyway!
metrics: metric names were all jacked up

Had to squre these against the canonical reference inside RPM, also
added allWeb / allOther discrimination for memcached and Redis
recorders.
metrics: kill extraneous error rollup count

This has been around since the prototype, but nothing in RPM actually
cares about anything except Errors/all.
tests: ensure versioned tests don't get published
instrumentation: fix http.request hostname logic

When making an outbound request, the options passed to http.request can
have a key labeled 'host' or 'hostname' containing the external
hostname. If neither is included, the http.request code defaults to
'localhost'. This needs to be included so the metrics are named
properly.

Fixes newrelic/node-newrelic#40.
docs: Updated for new version.
Released 0.10.1