Implement byteslice-based Go API - the bad way.
Simplify msgrcv implementation.
Add failing test.
Make binary data work by copying the bytes directly using memcpy instead of casting it to a string.
Get char* by getting the pointer of the first element instead of using reflect
Handle and test empty message case
Adds a finalizer that frees to allocated message buffer.
Remove unnecessary C function.
API cleanup.

- Add SendString and ReceiveString helper functions. 
- Remove ReceiveWithType. 
- Deprecate Send and Receive.
Forgot to actually call free buffer.
Check for id == -1 instead of 0
Merge pull request #9 from Shopify/expose_bytearray

Expose bytearray