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
Would it make sense to give the `pre_func()` the opener (which can then re-use the cookie jar set up in the opener)? Otherwise you would always have to create a separate opener in the pre_func, and that might be tedious?