Merge pull request #436 from Alek900/master

Send our current status and name to friend that just came online.
Messenger refactor - redid work from pull request 79

Moves static state out of Messenger.c and into a Messenger struct
Purely stylistic, no functional changes were made.

This commit also changed all the callers of Messenger as they now have
to pass an instance of the Messenger struct to messenger functions.

Also removed some uses of the 'static' keyword at the beginning of
function definitions when the function was already declared static, as
these caused gcc to whine.
Merge pull request #438 from mkfifo/master

Messenger refactor - redid work from pull request 79
Added support for userdata in callbacks