Add OnJoining module hook.

This patch adds an OnJoining module hook that allows a module to allow
or disallow joining any given channel.
Add JoinAfterCloaked setting to q.cpp

This patch adds a new setting to the Q module, JoinAfterCloaked, that
allows the user to specify whether ZNC should postpone joining channels
before the user is cloaked.

Fixes #286