(PUP-1072) escape URLs for the indirector only

Gratuitous escaping will have consequences for more code parts, because
the metadata details are used from outside the source property code as well.
(PUP-1072) Add a require statement for the base class to the http terminus
(PUP-1072) Allow the streaming of HTTP sources directly to disk
(PUP-1072) Handle URL escaping more cleanly through the TerminusHelper class