OOIION-1760 Fixes service-client None issue with discovery

Service clients don't pass empty dictionaries. They pass None (or null in JSON). Service implementors need to account for this by specifying keyword arguments that would normally default to an empty dictionary as None and then accepting either a dictionary object or None.