Extract handle classes from NetworkAccessManager

NetworkAccessManager was getting pretty complex, and adding something
that modifies or intercepts requests is becoming a common change.

This change introduces a chain of handlers which can modify a request or
return a response of their own.

To start with, this extracts the concerns of fixing missing content
types, setting custom headers, and intercepting blacklisted requests.
Warn about remote requests with option to block

Adds a new request handler with three modes:

* Warn on an outgoing remote request (default)
* Stub out remote requests with an empty response
* Allow remote requests without a warning
* Allow adding custom localhost definitions