Fix issue with non-ASCII characters in Buffer and Stream attachments

This fixes #249.  Buffers are not converted to strings using `buffer.toString('binary')` instead of `buffer.toString()`.  `buffer.toString()` defaults to `utf8` which broken any non-ASCII characters.  

This pull request also includes a fix for an issue in features/attachments.feature that meant the node.js version wasn't detected correctly and meant that streams weren't being tested in the feature file (they were still being tested in the specs).  
This assumes that the buffer is always going to be binary, Is this a safe assumption?