Allow RPC methods with non-serializable types
Closes #1403 (closed). I wasn't going to work on this yet, but it turns out to be a very good idea for #868 and #1404 (closed).
All the method and type names in this branch are open for discussion; I don't love them all terribly much.