* Add support for iso8601 struct tag.
Currently only unix timestamps are supported for serialising time.Time objects. The JSON.API specification doesn't make a specific requirement on time serialisation format, though it does make a recommendation for using ISO8601.
This adds support for an additional struct tag `iso8601` which controls serialisation and deserialisation using the ISO8601 timestamp format.
* Update doc.go with information regarding iso8601 and omitempty tag arguments.
* add support for direct use of slice of struct pointers for MarshalMany
* Added a test to ensure that whether MarshalManyPayload is called with a []interface{} or []*Struct it will produce the same desired result.
* Added a test to show how the new error type may be returned.
* Ensure the outside accessible Errs have comments.
* Page char width cleanup. Addressed warnings about duplicated "client-id" definition; using the const.
* add support to unmarshal attributes to struct field that are ptr types
* Spacing, addressed all the linter warnings, comments to describe errors, cleanup, left a TODO note to resolve the Error messaging.
* Implemented a failing test demonstrating the intended behaviour of the omitempty annotation.
* Updated the failing test to ensure that unset field without the "omitempty" annotation are not inadvertently omitted.
* Working implementation of the "omitempty" annotation for fields that are of any type.
* Update the readme to include a brief description of how to use the `omitempty` in a attr field.
* Update the json example also using a uint for type variety.
* Added the MarshalOnePayloadWithoutIncluded method for marshaling single objects and their relations without actually populating the "included" key with the full related object.
* Completed method description.
* Added a test to ensure that the library is capable of Unmarshmaling a payload where the One object in the payload had relationships but did not include them via "included"