rpc method arguments should be dict, not list

default arguments were being set to a
list instead of a dict. This caused
problems if the args key was missing
in the msg argument to the call/cast methods.

Adds tests to check if RPC cast/call work
without arguments. Changes and documents
the _test_cast method arguments, allowing
for more flexibility and code reuse.

fixes bug 1089750

Change-Id: I854dc3fcad8936695feb4414f3862672cf98c5d1
Merge "rpc method arguments should be dict, not list"