Better API to catch remote exceptions

- Rename ErrorReply to RemoteError.
- Add __str__, __repr__ to RPCError for better message display.
- Allow catching remote exception by using RemoteError.<remote error class name>.
I am not sure, I don't like ``errtype_name`` name :(