adding optional authentication handler

A historic moment - My first PR in Github ever... (though I've accepted many myself...)

See issue #5 for background.

This patch allows the developer to add an optional auth-handler (ring-handler) in the configurator options.
This handler is ran with the original request, and can reject the user by not returning 200 OK.
In addition, the session map, if available, is attached to the request passed down the channel, and enables you to identify the user, which can be very useful.

The test file keeps compiling as before unchanged.