Correct HTTP codes for query errors

Respond with HTTP 400 for queries with multiple or no results, as
specified in the documentation
Allow processor functions to signal that no change has occurred

This allows processor functions to be applied to multiple HTTP methods if they
do not make any changes to the actual data. The best example of this is an
authentication processor which does not care what the actual data is but only
checks external state.
Adds documentation about the NO_CHANGE object.
Merge pull request #170 from logandk/fix-issue-170

Correct HTTP codes for query errors
Records changes due to previous commit in CHANGES.
Fixes spacing and 79 character line limits.
Fixes issue #174.
Merge remote-tracking branch 'upstream/master'