py3 compatibility

* Changes to print statements
* Changes to what datatype does into/out of sockets
* No longer py2.7 compatible (possibility to support both later?)