Added binary support, toggable via --binary.
Added binary plaintext SASL support, toggable with --sasl=user[:pass]
Fixed g++ compile error.
Merged Stephen Yang's and David Terei's binary protocol and SASL implementations.

I ended up cherry-picking different parts from each implementation.
I liked David's changes to the read state machine to implement SASL.
I used Stephene's implementation of the binary protocol integrated with
the ASCII protocol.
Remove unused useBinary class variable.