Make a generic wrapper class encapsulating Net::HTTP connection + request
Quick spike of Typhoeus instrumentation
RUBY-1120 First multiverse test for Typhoeus
RUBY-1120 Don't log there
RUBY-1120 Initial CAT test on Typhoeus
RUBY-1120 Porting Net::HTTP tests to Typhoeus
RUBY-1120 Net::HTTP multiverse with shared CAT tests
RUBY-1120 Extracting FakeServer base class
RUBY-1120 Use ephemeral ports for fake external server
RUBY-1120 Proper licensing for new file
RUBY-1120 Add verification of wrapper types

First attempt at making a spec-like definition for what the request/response
wrapper objects have to be able to support for CAT to work with them.
RUBY-1120 Filtering for URL TT parameter
RUBY-1120 Tidying on URIUtil
RUBY-1120 Establishing HTTPClients module

As we have an increasing number of HTTP clients we support, along with CAT
functionality around it, it deserves its own module to namespace it
Merge branch 'dev' into ben/typhoeus-spike

Conflicts:
	test/agent_helper.rb
RUBY-1120 Moving Net::HTTP specific tests to multiverse
RUBY-1120 Updated comment on methods finish_trace requires
Defaults for stats, NewRelic::Agent.record_metric uses default values

If a customer were to manually record a metric with record_metrics and omit a
hash key we would likely raise nil comparison errors elsewhere in the code.

The metric now uses the defaults from stats, rather than allowing nils.
RUBY-1120 Fix Typhoeus instrumentation on 1.8.7 (no Symbol#upcase there)
Remove defaults, only set values that exist