Specify Content-Type as HTML in rack developer mode.
HTML output option for config docs
Fix unit tests on MRI 2.1.0-preview1 by stubbing setsockopt on dummy sockets
Conditionalize rubysl in gemspec

This is only appropriate for supporting our local usage of the agent from
source.  As long as the agent isn't packaged using Rubinius, this dependency
shouldn't make it anywhere outside of local usage.
RUBY-1152 Make TransactionSampler use harvest/merge pattern

... and stop storing unsent_traces on the Agent itself. The eventual
goal is for all similar objects (ErrorCollector, StatsEngine, etc)
to follow this pattern.
RUBY-1152 Rename harvest_and_send_slowest_sample to harvest_and_send_transaction_traces
Fixes for Rubinius 2.0 GC support

Previous versions of the agent had specific support for GC metrics in Rubinius.
These were largely untested, and appear to now be unnecessary with rbx-2.0.0 as
it implements the Core ::GC::Profiler class.

This commit also revises the names of the small adapter classes used for the
various flavors of GC (REE, Core and legacy Rubinius)
Conditionally add rubysl to multiverse Gemfiles
Fix for multiverse config tests on Rubinius
Padrino currently not working on Rubinius, excluding tests
Don't include MRI debugger when on Rubinius
Fix for destructuring and unused variables in rbx

https://github.com/rubinius/rubinius/issues/2678
RUBY-1152 Remove a redundant if clause in TransactionSample#build_segment_for_transfer
Older Ruby versions didn't have RUBY_ENGINE
Make sure GC's run

Under Rubinius GC's are concurrent so calling GC.start is less deterministic
for us gathering the controller metrics we want.  Wait instead until we've at
least had one GC run before letting the test proceed (with a timeout).
GC/cumulative doesn't make a metric explosion
RUBY-1152 make TransactionSample#prepare_to_send idempotent

... and rename it to prepare_to_send!, since it now mutates the original
TransactionSample rather than building an entirely new one.

The motivation here is to avoid re-doing the work of preparing the TransactionSample
for transmission in the case where the first transmission fails and we try again.
RUBY-1172 Ensure agent is reset before PipeChannelManagerTest
RUBY-1152 Remove the keep_backtraces option to TransactionSample#prepare_to_send!

This option was always passed as true from the client code in Agent.

Anyway, seems a better approach if we want to do something like this would be
to not even record backtraces in the first place, and thus avoid the
cost of gathering and buffering them.
New release of Guard doesn't work on older Rubies

Pin ourselves to the newest working version for 1.8.7 :(