Fix Nio compile issue
Remove no-op serializer :)
Add RPC unit tests
Don't throw exception if client immediately fails

This seems to cause an exception in `DistributedSuite#recover from repeated node failures during shuffle-reduce`.
I guess that the exception caused by having an invalid client is handled in a different way than the
client creation throwing an exception.