Refactor the JSOC client

This is what we were talking about the other day, where query and get now behave like the other clients.

I also merged in master so I could fix a doc warning or two, hence the large number of commits.