Remove string check on binary parser

This removes the incorrect string check on the Binary parser. 

I have added a test case and refactored the parser tests to have better code reuse
this could be rewritten like this:
```js
function sendsAndReceivesTest(parser, done) {
  var primus = new Primus(server, { parser: parser })
    , Socket = primus.Socket;

  primus.on('connection', function (spark) {
    spark.on('data', spark.write.bind(spark));
  });

  var socket = new Socket('http://localhost:' + server.portnumber);
  
  socket.on('data', function (data) {
    expect(data).to.eql({ echo: 'hello' });
    primus.destroy(done);
  }).write({ echo: 'hello' });
}
```
which is a little more readable. The rest looks great.