chore(testing): Run tests/benchmarks on PyPy3
chore(HTTPError): Clean up 405 and DRY has_representation model

This patch modifies HTTPMethodNotAllowed so that it no longer supports
adding details (since it is not common/idiomatic to return a body with
HTTP 405 responses).

BREAKING CHANGE:
    HTTPMethodNotAllowed no longer supports setting a title or
    any other HTTPError kwargs.
doc(falcon.exceptions): Clean up docs

This patch implements the following:

    * Use "e.g." instead of "for example"
    * Document class names in the reference docs under falcon instead
      of falcon.exceptions
    * Add the NoRepresentation mixin to the reference docs
feat(falcon.exceptions): Improve HTTPInvalid* and HTTPMissing*

This patch cleans up HTTPInvalidHeader and HTTPInvalidParam, and adds
two additional, distinct classes to use when the header or param is
missing altogether.

Conflicts:
	tests/test_req_vars.py
Fix test call to InvalidParam which was removed.