RUBY-1207 - Separate test helpers and explain empty file license failures.
RUBY-1207 Test/document undocumented configuration, refactor cross app monitor.

Test that configuration options used in the agent are always declared in the
default_source with a sensible default. Nil is no longer considered a sensible
default.

The cross_process_id defaults to blank string, so cross app monitor gating
checks that rather than the absence of config[:cross_process_id]. The nil gate
remains in case the collector passes down a nil.
RUBY-1207 - Nil as a sensible default.

Adding the :allow_nil key for a default value allows that value to be nil.
RUBY-1226 Include custom parameters in transaction events

This is a first pass at implementing custom parameters in transaction
event data. Now all custom parameters recorded during a transaction will
be transmitted within the transaction events.

I think more thought needs to be put into how we validate and/or coerce
the data types passed into add_custom_parameters which could be of any
arbitrary type currently (especially the case where symbol keys are used in
place of string keys)
Merge branch 'dev' into RUBY-1226
RUBY-1226 Use existing generate_request test helper api

The block format isn't necessary for these tests so let's KISS and
remove it.
RUBY-1226 Basic multiverse coverage of custom params in Transaction events
RUBY-1226 Add coercion and validation to custom params in events

Since custom parameters are user provided values that can be of any
arbitrary type we coerce them into a format that's acceptable for this
use case.

We accept a Ruby Hash and will return a new Hash where all of the keys
have been converted to strings.  As values we only allow Strings,
Floats, Integers, and Symbols (which are converted to strings when
they're later converted to JSON).  Any values of other type (e.g. Hash,
Array, any other class) are discarded. Their keys are also removed from
the results hash.

I'm not super happy with the #event_params method name but haven't yet
thought of anything better.
Merge remote-tracking branch 'origin/dev' into RUBY-1226
RUBY-1226 Refactor Coerce#event_params based on code review
RUBY-1226 Config to include custom params in event data

The analytics_events.include_custom_params value defaults to true and
controls whether to include custom params in the Transaction events sent
to the analytics endpoint.
RUBY-1226 Update config option to be consistent with similar options

Since this only effects transaction events scope the name to
transactions.
Merge branch 'dev' into RUBY-1226
Correct error message when wait_for_backtrace_service_poll times out in test helper
Merge branch 'release' into dev
Rails 4.0.1
Sinatra 1.4.4

Also updated to be explicit about expected latest on other versions, removed 1.8.6.
Sidekiq 2.16.1
RUBY-1226 Don't crash if bad argument is passed to add_custom_parameters

I was getting errors when I accidentally passed a String to
add_custom_parameters instead of a Hash.  Since we're going to be using
this API more heavily in the future it seems like a good idea to log
these argument errors as warnings instead of just crashing the request.
RUBY-1226 Fix misnamed variable