Major query overhaul

* pulled in voided query change from @garemoko
* clarified that the multipart attachment format is to be used in responses when attachments are requested even if there are no attachments.
* simplified existing query options while expanding them. (see extensive changes)
* group filter updates, activity & group equality and definition tweaks
* targeted statement search clarification
* Moved single-statement queries in to the main query parameter block in order to allow "attachments" and "format" to apply
* added "voidedStatementId" to allow fetching voided statements
* added "viewId" to allow limiting statement results on any pre-defined views the LRS provides

Justifications
* The query parameter shuffle is based on the discussion around the purpose of the query API. It allows for more general types of statements to be filtered out and simplifies the query parameters conceptually. It is based on the idea that the LRS query facility is not appropriate for driving a reporting UI directly.
* identified groups with member lists just doesn't make sense, and it's not clear what that even means if the same identified group is listed twice with different members
* group filter behavior should be unsurprising -- given the limitation that we don't know the membership of identified groups
* voided changes as discussed
* viewId added to recognize something Russel's already doing in his LRS, we're thinking of doing in our LRS, and in general will serve as an "escape valve" for LRSs to provide more interesting filters without the need for us to spec those filters.

Related issues:
https://github.com/adlnet/xAPI-Spec/pull/85
https://github.com/adlnet/xAPI-Spec/issues/76
https://github.com/adlnet/xAPI-Spec/issues/28