Add testing support for Puppet Types

This commit adds support for testing the following
common features of types:

* parameters available
* properties available
* features
* default provider
* that param value(s) are valid

There are still a few things that need to be implemented:
* default parameter values
* autorequires
* munging
* .to_s methods (I am not sure how to test this :) )