Allow custom param values to be read from files/urls

The `no_paramfile` setting can be used to disable this. By default, all custom
parameters will support `file://`, `http://` and `https://` URI schemes, with
the possibility of more coming in the future.

Possible issues:
 * Introduces a new method to preprocess values - should this be an event + handler instead?
 * Opt-out means existing commands which expect a URL may now fail

@jamesls what do you think of this approach?