Add APIObject for generic inclusion of API objects.

Includes test and json/yaml getters and setters.
Merge pull request #529 from lavalamp/recursiveApiObj

Add APIObject for generic inclusion of API objects