Added IP address collection and forwarding of metadata headers for upcoming protocol 17.
These features are currently behind the
protocol_17feature flag until all parts of protocol 17 are implemented.
Converted error handling in
Previously many of the errors were thrown. For consistency with async errors, these are now handed to the callback instead of thrown. The old behavior could result in a crash under a few circumstances, such as when the agent exceeded a configured maximum payload size. These errors came from
RemoteMethod._safeRequest. Since these errors are handed to the callback instead of thrown, this bug is no longer a potential.
Refactored harvest interactions in preparation for protocol 17 status codes.