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.
Merge pull request #33 from newrelic/RUBY-1050

RUBY-1050 Avoid corrupting the scope stack when HTTP requests fail
RUBY-1050 Conditionalize cross-app metric recording on having a response to avoid scary log msg