Add ensure parameter

This requires heavy use of conditionals and the chaining syntax
(http://docs.puppetlabs.com/puppet/2.7/reference/lang_relationships.html#chaining-arrows)
in order to do things in the right order based on creation or removal,
but should be smooth.