put parentheses for side-effectful hooks

In Scala the convention is to put parentheses for empty parameter list
functions when it may perform side effects.
execute session invalidate hook asynchronously

If the hook takes some time to execute, it is pretty bad to block the
session cleanup thread. By launching it in a new thread, we do not block
the cleanup
[new #9] add some logs for internal stuffs

As it was pointed out to me, tiscaf could be more verbose when the
request is rejected for some reason. This introduces a small and simple
logging API dedicated to tiscaf internals only that tries to log
messages that can provide user with some helpful insights on what's
going on.

For example, if the upload post/put/patch data size was exceeded...

closes #9
prepare version 0.8