Revert "Rethink custom request context initialization"

This reverts commit 225cb45ee9a83d7d64537e4694a9e177be0d6764.

After discussion with kgriffs, we decided that the attribute-based
method for handling this would be more efficient.  Subclasses can
always implement context_type as a callable method, anyway.
disable pylint not-callable where appropriate

pylint isn't smart enough to see we checked for callable() manually.