Fix bug where empty messages could not be recieved

While working on empty services I encountered a bug where empty service messages could not be received. The culprit was in Binary.hs: `get = getUnit *> pure ", name'` (see diff). This tries to read some amount of data, but empty service messages have no data.  While testing to see if subscribing to empty messages works, I discovered that singleton messages don't derive Typeable, and thus cannot be roshask Topics.
I'm a bit confused. the `put` definition is in fact adding a single byte to the serialization, so at some point this has to be dealt with on the receiving end. Is another function eating that single byte before or after we call `get`?