Adding the Reject message to the protocol types

The Reject type is sent to a remote peer if the local peer rejected a message for some reason. The reason and a code is sent inside that reject message. I had to move MessageCommand from Message.hs to Types.hs as the new Reject type uses it (and Message.hs imports Types.hs).