refactor - ApiResponse is now abstract and no longer knows anything about XML parsing.

Subclasses are expected to know how to handle the response. ApiRequests know what type of response to build.
ApiResponseCallbacks is now generified