chore(*): no need to pass objects by reference since PHP takes care of that
chore(SPException): added getPreviousMessage() method
chore(SPSite): inject Guzzle HTTP client in the constructor + added static create() method + cleanups
chore(*): added PHPUnit as a dev requirement
chore(SPSite): added initial tests
chore(SPSite): variable renaming
chore(SPUser): extend SPObject + update class + add extra property support
chore(*): move common SharePoint object methods/properties to abstract SPObject class
chore(*): give the trait a more meaningful name
chore(SPSite): more flexible arguments in the create() method
chore(*): change properties visibility to protected
chore(*): change from trait to abstract class and remove interface
chore(*): extend from SPListObject, simplified class methods + cleanups
chore(*): extend SPObject, simplify method argument passing + cleanups
chore(*): change property visibility to protected, allow for extra properties on instantiation, extend SPObject, minor cleanups
feat(*): hydration can now be done using a sibling object
chore(*): simplified method argument passing, extended SPObject/SPListObject, cleanups
chore(*): updated README
Merge branch 'feature/extra-properties' into develop