RUBY-1039 Active Record instrumentation rewritten to take advantage of ActiveSupport::Notifications where available
RUBY-1040 Action View instrumentation rewritten to take advantage of ActiveSupport::Notifications on Rails 4
RUBY-1039 remove debugging flags
RUBY-1039 RUBY-1040 comments and move the millisecond helper to somewhere more useful
RUBY-1050 Avoid corrupting the scope stack when HTTP requests fail

When traced a trace HTTP request fails due to a network error, timeout,
or similar, we need to ensure that we still pop the scope stack so
that we can move on with tracing of the transaction. The failure may
be rescued by user code at a higher level, so the transaction might
continue without an error propagating.
ACDC-7 Add a little more detail to comment in license_test
ACDC-7 One more license check
RUBY-1050 Avoid corrupting the scope stack when HTTP requests fail

When traced a trace HTTP request fails due to a network error, timeout,
or similar, we need to ensure that we still pop the scope stack so
that we can move on with tracing of the transaction. The failure may
be rescued by user code at a higher level, so the transaction might
continue without an error propagating.

Conflicts:
	lib/new_relic/agent/cross_app_tracing.rb
RUBY-1050 Conditionalize cross-app metric recording on having a response to avoid scary log msg
RUBY-1050 Conditionalize cross-app metric recording on having a response to avoid scary log msg

Conflicts:
	lib/new_relic/agent/cross_app_tracing.rb
Tag seen exceptions with an ivar rather than checking object_ids

We tag exception objects to avoid duplicates, but there are a few
constraints:

1. We don't want to actually hold a reference to the exception objects
   to avoid unnecessarily retaining them.
2. We don't want the tagging to result in false positives (that is, we
   shouldn't incorrectly flag an exception as a duplicate if it isn't)
3. We want the tagging itself to be fast.

The previous approach satisfied constraints 1 and 3, but not 2, since
we were maintaining a list of seen object_ids (cleared periodically),
and object_ids can be reused in Ruby once the objects they're
associated with are GC'd. The ivar approach satisfies all three
constraints.
RUBY-1043 Don't touch /dev/null from the agent logger
CHANGELOG update for Sidekiq support
RUBY-1043 Fix test fallout - some tests get NullLogger, not AgentLogger
RUBY-874 kill all whitespace
RUBY-1040 reworked to use !events instead of only top level events
RUBY-1039 tweak to AR AS::Note instrumetation
RUBY-1029 Don't log errors when user explicitly asks not to

We were previously treating the top-level 'collect_errors' and
'collect_traces' keys returned by the collector as equivalent to the
configuration keys they relate to, but they should actually be applied
conjunctively to those keys (e.g. collect_errors && <client setting>).
RUBY-1051 get all the test pieces moving properly in Rails 4
RUBY-1029 Fix typo in comment explaining feature gates