BLD : use setuptools to get develop
MNT : refactored socket work

 - moved socket read/write logic into stand-alone functions
 - via SO have some code to serialize numpy arrays in a transparent
   way
 - made demo a bit cuter
Merge pull request #3 from tacaswell/client_refactor

Client refactor