Added features to type defintions

Added Puppet 'features' to type definitions to make some of the types optional for providers.