Add the possibility of installing user error handlers

This is important for timeout errors where a specific response is
needed by the program.
Add function "settime".
Free the login structure after performing dbopen.
Add more configuration options to [connect].

We also use standard OCaml optional arguments which have the same
power as before but are more convenient for the user.
Make error message refer to the fully qualified function.

Most of these exceptions should never be raised, the exception handler
catching them before.
Fix the name of the err_handler (to pass the function to C).
Version 0.5