Make the SASL module itself handle packet lengths instead of passing that off to the agent so that it can be done right every time instead of correctness being implementation-dependent