(PUP-500) Define Collector Expressions

Prior to this the Collector Expressions were partly defined, but still
had a large number of notes and todo areas. This cleans that up and
makes the decision that the semantics of the Query part is
implementation dependent. This decision was made because the current
system has no consistent semantics and rather than impose unforseen
changes on those implementations, this just continues with the status
quo.
Merge pull request #6 from zaphod42/issue/master/pup-500-define-collectors

(PUP-500) Define Collector Expressions
(PUP-500) Clarify that collect with <| |> collects and overrides regular

This clarifies that <| |> operator processes all kinds of resource,
not just those that are virtual, and that it can be used to
override any resource's parameters.