restore support for 7bit/8bit transfer-encoding

7bit/8bit are essentially the same as binary, meaning no encoding is performed.
error handling improvements

- do not throw, emit 'error' event instead,
- do not emit 'end' after 'error'.
test case on transfer-encoding

Rename existing directory 'base64' to 'encoding' and add more test cases.