Split djblets.webapi.core into smaller modules.

Over time, djblets.webapi.core has grown, and contained classes better
suited for other modules. We even had a circular dependency due to the
way that things were split up.

This splits out all the encoder-related classes and registration logic
into the existing encoders.py, and all the response classes into
responses.py.

The existing djblets.webapi.core will emit a DeprecationWarning, but
will continue to work as before.

No logic has changed, with the exception of changing old-style
`MyParent.function(self, ...)` calls to use `super()` instead.

Reviewed at https://reviews.reviewboard.org/r/5899/