Support for named parameters

We should have support for named parameters when making JSON RPC calls, this patch makes it possible to do just that with minimal modifications.
When the user asks for `client.foo(1)` or `client.bar(1,2)` we should make an array, so the resulting `params` key should have `[1]` or `[1,2]` respectively.
When the user asks for `client.foo(:bar => 'foo')` we should pass them directly, so the resulting `params` key should be `{"bar": "foo"}`.