Flatten DW::Request methods

This promotes some methods from the Standard and Apache2 modules up to
the Base class, which allows us to share some more functionality and
moves us closer to a world where we can deprecate the Apache2 module.

This also removes the mutual exclusivity that did exist on post_args and
content. Now since post_args depends on content, you can call both if
you really really want to. Not recommended.

This also adds a "json" method which returns a parsed JSON object if and
only if the request is a POST request and has the proper content-type.

Content-type is now enforced for post_args as well.

This also makes did_post stricter, as the RFC specifies all-caps for the
POST method. I doubt this will cause a problem.