Event driven smtp_parser, test callbacks.

SMTP parser consists of 2 layers: genereric parser, smtp parser.

Generic parser splits string into words. It has two events: on_word,
on_eol. Upper layer, the actual smtp parser, uses these callbacks to
implement command parsing of the SMTP commands. Because a range of SMTP
commands is very limited, each command has its own callback. A programmer
can use these callbacks to implement auxiliary logic.

This code is a result of day-long coding session, if there is a good
time for product placement, it is now. Rauch Nativa Lemon Green Tea made
it possible.