Merge pull request #242 from Wismgari/master

Not detecting the end of an IDLE, fix for issue #241
Parser: fix spacing
readme: fix typo
Parser: check for unexpected readable-stream module behavior for node v0.8
Connection: defer fetch 'end' event until next tick

Due to streams2' use of process.nextTick, without this patch body streams' 'end' events will emit after the fetch 'end' event, causing some confusion.
Connection: defer message 'attributes' and 'end' events until next tick
Connection: add 'type' to error object for tagged responses
Connection: allow UTF-8 strings in search requests
Connection: 'level' is now 'source' for Errors
Connection: need to write CRLF after append() data
Connection: always stringify and un-escape gmail labels in responses
Connection: add missing message 'ended' assignment
readme: add documentation for `flags` Box property
Connection: drop restrictive flag check for addFlags()
Fix crashing fetch tests by setting keepalive = false

When keepalive = true (the default), additional IDLE requests are sent
to the IMAP server. The mock IMAP servers in the tests are not set up
to respond to the IDLE request.
Fix fetch crash when all parts come back immediately

Resolves "TypeError: Cannot set property 'ended' of undefined" if
bodies are sent immediately and no msg is added to the fetchCache.
Fix formatting
Merge pull request #251 from rossj/master

Fix exception when all fetch bodies return at once
Connection: add guard for conditional
Connection: set 'ended' property sooner than the next tick