RUBY-1367 Add additional cross-agent tests, and change test file
naming conventions.
RUBY-1108 Errors/allWeb and Errors/allOther

The collection of these metrics was left off when doing Key Transactions
as they weren't pertinent to the feature at hand. Fortunately, they're
also pretty simple to implement.
Merge pull request #753 from ruby-agent/RUBY-1008-error-count-aggregations

RUBY-1108 Errors/allWeb and Errors/allOther
RUBY-1241 Cap slow SQL queries

The list of Slow SQL queries was normalized by the agent, but no size
limit was applied to the in-memory storage. While we only send 10 to the
collector per harvest, we potentially hold onto vastly more than that.

This becomes a potential problem when either 1) the agent isn't
reporting for a very long time or 2) when an application has
sufficiently dynamic queries to bust our normalization logic in some way
(think constantly changing table names for instance).

Now for each query that comes in, we make sure that it's actually slow
enough to belong in the list that we will eventally send, and otherwise
don't hold onto it at all.
RUBY-1354 Perf tests for StatsHash
RUBY-1367 Changes based on code review.
Merge pull request #752 from ruby-agent/RUBY-1367-processor-counts

RUBY-1367 Add additional cross-agent tests, and change test file naming conventions.
RUBY-1369 Clean up option handling for trace_execution_scoped
RUBY-1369 No summary metrics in trace_execution_scoped if :metric => false

trace_execution_scoped takes a :metric key in the options hash that may be true
or false. Traditionally, if false, this key has prevented recording of the
primary (first) metric given to trace_execution_scoped, but has not prevented
the recording of summary metrics (if any were passed).

There's only one test that was relying on this behavior, added relatively
recently, and it's a contrived test case. I don't think there are any compelling
real-world cases where you'd want to skip recording the primary metric, but
still record summary metrics, and it's confusing behavior to specify :metric =>
false, but still see metrics being recorded.
RUBY-1241 Actually check we take slowest samples
RUBY-1354 Put StatsHash test where it belongs
RUBY-1354 Cap metric count at merge

The StatsEngine#merge! is only called in two locations--when we are
merging back metrics from a failed call to the collector, or when we're
merging in data from a Resque child process.

We mainly care about the failed collector calls, and the check is
light-weight and unlikely to be hit under normal circumstances. Also for
the Resque case we're running off on another thread in the master
process, so it shouldn't impact transaction times for job execution.
RUBY-1290 Change config name for heroku dynos

Since we're planning to have multiple Heroku-related keys, nesting the
existing setting for a start under that subkey.
RUBY-1290 Shorten to prefixes for Heroku dynos

Certain well known dyno names include a process ID and are thus too
dynamic for use a replacement hostname. In those cases, we want to clamp
down to just the prefix.

This is defaulted for now to "scheduler" and "run", but can be altered
by us if we find other names, or by users if they observe churn in their
hostnaming reported to us.

There is remaining tightening desired on the config side of how this is
handled, but it's waiting on another feature before that can be
completed.
Run orphaned config tests on changes to default_source.rb
RUBY-1290 Turn on dyno naming by default

Now that we have the prefix shortening capability, it's safe for us to
start using the dyno naming feature. Clients can turn it off if it is
undesired, or control odd one-off dyno names via the config keys.
Merge pull request #754 from ruby-agent/RUBY-1241-cap-slow-sql

RUBY-1241 Cap slow SQL queries
RUBY-1241 Improve test for making sure we've got the slowest 10 samples
RUBY-1241 Use min_by instead of min in SqlSampler eviction
RUBY-1241 Apply sorting in SqlSampler tests to fix reliability on 1.8.7