FIX: a couple of cleanups

* eliminate redundancy: there is no need to manipulate
with buffer's start inside fix_session_recv() as fix_message_parse()
moves buffer's start pointer back if a message was partially received

* it's a valid behaviour when fix_session_recv() returns NULL, no need
to perform more than one attempt to parse a message. A user is free
to call fix_session_recv() once more

* user should retry receiving a message whenever fix_session_recv()
returns NULL. A few places are affected: fix_session_logon(),
fix_session_logout(), fix_client and fix_server

Signed-off-by: Marat Stanichenko <mstanichenko@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>