This PR includes cherry picked commits relating to uapi support.
Due to some assumptions in the JSS object about XML request and response data, the original API has been wrapped in a way that maintains backwards compatibility whilst allowing developers to supply parameters to force json for UAPI endpoints. An authentication adapter was added for UAPI because even though UAPI token endpoints use Basic, they don't supply a header to indicate as such.
This PR includes cherry picked commits relating to uapi support.
Due to some assumptions in the JSS object about XML request and response data, the original API has been wrapped in a way that maintains backwards compatibility whilst allowing developers to supply parameters to force json for UAPI endpoints. An authentication adapter was added for UAPI because even though UAPI token endpoints use Basic, they don't supply a header to indicate as such.