This commit changes the code generator to generate a `UnmarshalJSON` for each
struct, so that if unmarshalled it properly handles UniFis varying integer values
via the `emptyStringInt` type.
Structs not including a field of `int` type will still have the function generated,
but it will effectively do nothing.
Fixes#18
* 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