add REST documentation for activity module

> We should be careful relying on "try it out" since we've converted to using form parameters instead of body parameters; many of the endpoints (those that POST, anyway) won't actually be usable with "try it out" since they rely on form parameters that the Swagger UI cannot (currently) support. My guess is slightly less than half of the POST endpoints fall into this category; that's a significant number.

I think it's very important that the `Try it out` functionality works for every REST endpoint and I don't think anything has been merged yet where that is not the case. There are cases where both an array and individual string are accepted where I think having the Swagger UI just support the individual string is acceptable. Any cases where the Swagger UI cannot support `Try it out` because we're using FormParams should be switched to `body` params, but I think there would only be a few like this.

> The {...} convention that I've used for mapped objects works okay for documentation (as long as the user is aware of it), but I don't think it will work so well for other uses of Swagger such as automatically generating client libraries.

Fair enough. However, the reasons as to why it wouldn't work are mostly Swagger limitations at this point. Therefore, I'm keen that we get something out first that makes the REST endpoints at least easily accessible to end users and developers wishing to do API-level integration. 

> There is another possible approach, though I'm not actually in favor of it. We could modify the API endpoints to conform to the constraints of Swagger. It probably wouldn't be a huge amount of work, and I suppose it would make the API a bit cleaner in general, but it seems perverted to change the interface because of limitations in the documentation tool.

Yeah, I don't think this would a good use of time. I'm not even convinced that it would make the API cleaner in general.