Fixes #4 - added methods to handle local errors when invoke methods requested remotely, as well as checks for transport errors on the client. These are the sort of thing that shouldn't happen normally, so default implementations will emit the messages for the user to deal with.
Fixes #1 - Server interface now supports a close() method, allowing the client to close the connection.
Synchronization in method lookups, caching to prevent possible race condition.