FIX/FAST: resolve session receive latency issue

As Pekka Enberg fairly noted, "we now seem to always wait for
the *next* message to arrive until we actually attempt to decode
the current message".

To prevent such a situation we make session receiving engine
parse/decode the incoming message just after another portion
of data is received.

Note, that we also trying to parse/decode the message just
before any attempt to receive the data to cover the cases
when there are enough data in the buffer. This is done
intentionally to prevent the library going to socket every
time session receiving engine is invoked.

Reported-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Marat Stanichenko <mstanichenko@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Use endianess-annotated types everywhere in the code

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