Client now retries connection on failure
Support for required params and restricted types.

Also added introspection using docstrings and
the parameter information mentioned above.