(PUP-3117) Update spec about resource expressions

This fixes many issues in the spec regarding resource expressions.
While the jury is still out on PUP-3117 regarding what the operator for * => is called, the behavior is still the same, and what was in the spec is wrong. (I.e. it is easier to modify the spec to comply with the decision in PUP-3117 once is made after this PR is merged - it will need to be updated with these changes anyway; albeit with further changes if the operator, or semantics change).