Feature/en 1831

We need to rethink how we handle the defaults values. The defaults are defined on the server side, and are subject to change. In addition, account settings can override the defaults. If you have defaults specified in the wrapper code, two bad things will happen:
1) When we change the defaults on the server, we will have to update the wrapper code. But, of course, our customers will not update their code immediately, if ever, so we will effectively loose the ability to change the defaults.
2) When a customer has non-default account settings, specifying a setting in the API call overrides the account setting. So, specifying all of the settings in the API call is bad.

All the settings should default to null, and only be added to the API call if they are non-null.