New unmarshalling rules for fields which could be numeric or string
values were not properly typecasted upon being deserialized.
Cleaned up the api template file and moved custom unmarshalling type
logic into go code out of the template.
* Allows for specifying more customizations per field in each type.
Previously, the switch clause didn't allow sub-types to be modified, but
that became a problem with some of the more complex types.
* Fixed several problematic fields in the Device resource
* Removed the underscore separator from generated type names
* Allows for generating top-level types for any embedded struct so
that sub-types can be properly instantiated from calling code
* Specifying `-no-embedded-types` will generate top-level types
rather than embedding the struct
* Refactored "Device" API
* All fields set to `omitempty` because it describes all possible
device types, so effectively any field could be omitted any time
* Fixed `get` call for "Device" API; replacing `rest` with `stat`
* Generated `get` and `update` calls for `Setting*` APIs
* Added `5.14.23` JSON files