Make messaging more generic and nanomsg an implementatation
Use built-in go rpc instead of nanomsg for now