RUBY-1115 Don't keep looking for Mongrel

If we don't find Mongrel's server after the initial request, don't keep looking.
ObjectSpace can be expensive, and at least one client noted a 100ms penalty from this
when not running Mongrel (but with it in the Gemfile)
RUBY-1115 Clearer test for Mongrel checking
RUBY-1115 Cleaner comment
RUBY-1113 Fix broken CPU, memory samplers for forking servers.

We recently started resetting the StatsEngine instance from
NewRelic::Agent::Agent#after_fork.

Because the list of harvest-time samplers was attached to the
StatsEngine, this meant that no harvest time samplers (notably: CPU
and memory samplers) would work from forking servers such as Unicorn
and Passenger.

This commit moves the list of samplers into a SamplerManager that is
attached directly to the Agent, and hooks into the harvest cycle
via a new :before_harvest event.
Merge pull request #61 from newrelic/RUBY-1115

RUBY-1115 Don't keep looking for Mongrel
RUBY-1115 Skip Mongrel ObjectSpace search tests on JRuby
RUBY-1115 Rename SamplerManager > SamplerCollection, make Enumerable
Merge pull request #62 from newrelic/RUBY-1113

RUBY-1113 Fix broken CPU, memory samplers for forking servers.
RUBY-1113 1.8.6 doesn't have Enumerable#count
RUBY-1113 1.8.6 also doesn't have Enumerable#first