Implements parameters types

Based on puppet manifest documentation we differentiate several types or
attributes. This is required for validations that checks parameter type.
If it's not specified s String is used as a default type.