Rename selective handler to selective discarder

* While it is selective to accept requests, the actual behavior is discarding
* Being stateless, it also got strapped with a `sharedDiscarder` class method
Macro cleanup

* Shorter "singleton" macro
* Correct name of header and header value definitions macro
* Improve the static string initialization a bit (when a request is created, the one-off strings)
Rename response content handler negotiation method
Make response content handlers return intermediate data on failure

* Remove 204 from acceptable response codes (I'll probably regret and roll this back someday…)