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).