Frame._getline stops at the first null byte
When receiving a binary message, the message is truncated at the first null byte. This is because Frame._getline() stops when it sees a null byte. The content-length header is set for binary messages, but the headers aren't parsed until after _getline returns. It's not clear what the best way to handle this is. Perhaps multiple functions: _getcommand, _getheaders, _getbody?