Modify backend parsing helpers to add calling context.

When data from the backend fails to parse as we expect a BadJson
exception is thrown. Until now it's been difficult to know the context
of this error in terms of the backend end-point URL that producted the
data in for first place. The response parsing helpers now accept a
context param which can be provided to give the calling context and
provide it to the ultimately thrown exception.
Add backend method to efficiently access a user's activity