In EtBaseClass::cast, only pass $client into the new class if it accepts parameters. This fixes a bug that occurred when trying to cast objects that don't have an explicit constructor with a $client parameter (in my case it was DataExtensionField).
if Retrieve returns an array of results, cast each result instead of the array.
DataExtensionFields actually extend PropertyDefinition in the wsdl. Updating the hierarchy here so that EtBaseClass::cast() works as it should. It wasn't keeping the DataExtensionField Name along with some other properties
PropertyDefinition actually extends APIObject in the wsdl.
Merge pull request #16 from ryross/master

Fixes Retrieve calls for non-magic classes