Simplify magic getters in third party API classes

In working on the Framework, the `__get()` methods of the various third party API classes were simplified by not listing every possible object in the method and instead checking if the object's class exists, and if not, an exception is thrown.

These packages aren't implemented in the core, and the change for any third party implementers is that a failure goes from having no return to throwing an `InvalidArgumentException`.  Therefore, visual review and the unit tests passing will be sufficient for this PR.