Add failing tests for decoding peerwire messages

Also, refactor the tests to be automatically generated out of a set of
test cases. I think I'd rather do some hacking here, than leave them all
in the same hspec `it` block, though, because it was nicer to have
separate results for each message type.

It seems that I'll have to separate out the handshake message from
others, since its kind of hard to parse them in an overloaded parser -
or maybe just not worth the effort, since I should be able to tell which
peers are supposed to handshake me and which aren't.