Merge pull request #382 from newrelic/gc_profiler_available

Gating on GC::Profiler usable, not just enabled
Don't run MRI tests on JRuby or Rubinius
Use Pry instead of IRB since already depend on it
Merge pull request #384 from newrelic/rakefile_console

Handy console in Rakefile
RUBY-1269 Adding cross_agent_tests from the PHP agent
RUBY-1269 Implement and test Database.parse_operation_from_query
RUBY-1269 Make ActiveRecordHelper use parse_operation_from_query
Gracefully fail on Mongo group for testing

We get occasional spurious failures on the group command to Mongo. Because of
our wrapping the calls this doesn't actually interfere with us recording the
metrics, so just let it happen and continue on with the test.
Merge pull request #386 from newrelic/mongo_grouping_failures

Gracefully fail on Mongo group for testing
Clean up read_from_pipe helper in PipeServiceTest
Tighter regex for patch item title matching
Move serialization responsibility out of the Pipe class
Moving helpers to the bottom of PipeChannelManagerTest
Make pipe message framing use length header instead of delimiter

Previously, the serialization protocol we used to send data from Resque children
to the Resque master process relied on a double-newline delimiter ("\n\n") to
separate individual messages from each other. Unfortunately, this delimiter
could appear embedded within message bodies, which would break the serialization
scheme.

Now, we instead prefix each message with a fixed-length header (4 bytes) that
specifies the length of the message to follow. This scheme means that any
message payload under 4 GB can be safely serialized and deserialized.
Merge pull request #383 from newrelic/patch_notes

Allow for reading patch items from CHANGELOG
Fix for latest change test on 1.8.7
RUBY-1273 Record guid on analytics events
RUBY-1273 Support referring txn GUID on analytics events
RUBY-1273 Only attach GUID with CAT

Java only generates GUID's when necessary. This helps save space on events in
analytics, since GUID's most transactions don't benefit from a GUID.

This commit makes sure we only use the TT GUID we generate for an event if:

1) We made a CAT call out
2) We're on the receiving end of CAT
3) RUM would include the GUID
RUBY-1273 Clearer cross-app conditionals