ATS: Refactored outgoing requests to use AtsConnection

Refactor outgoing requests to run through AtsConnection. Now using the command pattern.
Adds some logging and a more testable design.

<!---
@huboard:{"order":20.0,"custom_state":""}
-->

It is common to have a blank line after Check calls. Also, just a style thing, but I would probably inline requestContext instead of creating an explicit local. But it's fine either way.