Add pre function hook

The pre function in hooks.py can be used for sites that require
logging in before a URL can be fetched, by storing a session cookie
in the cookiejar.

It can also be used to change/add headers to the request.

The pre function isn't expected to return anything, but instead
it can directly change the passed headers or cookiejar references.

To stop the real URL from being fetched you can raise an HTTPError
exception. This will then be shown in urlwatch output if the
option --display-errors is enabled.

Simple example is included in hooks.py.example