C2S per session user data & authreg auth API extensions

Changes:
1. SASL: embed sasl context (_sx_sasl_t) into a new struct sasl session context (_sx_sasl_sess_t) to hold the stream information for the sasl session and the global sasl context. The stream is then passed back to c2s on SASL auth where we can use the stream's tag to retrieve the session from c2s session hash.
2. Pass sess to all authreg functions except free().
3. Pass realm to create_challenge() in authreg.
4. Modify all storage/authreg_* files to account for new sess argument. The sess parameter in the existing authreg modules is basically ignored. 
 
Testing: 
1) Given the nature of the changes, testing on one DB platform should suffice. I tested it locally on sqlite. 
2) Compilation verification for on all but oracle and win32 (carefully looked through authreg_ntlogon and authreg_oracle code to make sure its correct)

Issue tracker: https://github.com/jabberd2/jabberd2/issues/71
List discussion: http://www.mail-archive.com/jabberd2@lists.xiaoka.com/msg02335.html
I should/will null out sess->authreg_private after it has been freed.