Feature/streamed encryption

This implements the feature that was described inside of #/173. For the moment I have only implemented encryption support with integrity protection, but without signing.

The API is based on [node.js' streams](http://nodejs.org/api/stream.html). In particular it implements a [stream.Transform](http://nodejs.org/api/stream.html#stream_class_stream_transform). This means that you can read and write to either the message or the crypto module.

I have also written a few unittests that are also useful to illustrate usage of the new API.

Let me know what you think and if there is something that I should cleanup/improve.

Note: I did not use the sha1 implementation of openpgp.js, because that also does not support streaming. Luckily node.js (and browserify in particular) has a sha1 implementation that is stream capable so I used that.