Move the parsing of each <primitive> to a method
Simplify the parsing of <primitive> elements

The previous implementation had a lot of duplication of expressions, and
pointless creation of nested hashes with only one element only to later unpack
them with slightly different keys.
Eliminate repeated code to parse <nvpair>s
Require rubygems

According to the puppetlabs_spec_helper documentation:

https://github.com/puppetlabs/puppetlabs_spec_helper#usage

this is how it's done.
Merge branch '3402_tests' into 3404_test_coverage
Implement basic tests for cs_primitive provider
Implement basic tests for cs_property provider
Merge remote-tracking branch 'upstream/master' into 3404_test_coverage
Revert "Merge branch '3402_tests' into 3404_test_coverage"

This reverts commit 86e17952768bb7c052cae68c5b94ecf28c251d9f, reversing
changes made to 33b46ee789760c6a3f8b262e86168b7d57003881.

We don't want this, because I guess requiring rubygems in Rakefile is an
anti-pattern, or something. Upstream now has a Gemfile, which solves the
issue of making the gems available in a better way.
Merge pull request #43 from bitglue/3404_test_coverage

write some tests
Merge pull request #41 from bitglue/3394_utilization

make primitive utilization attributes managable
Add test for cs_primitive utilization property
Merge pull request #45 from bitglue/3438_utilization_tests

Add test for cs_primitive utilization property
Declare crm_attribute as a command for Puppet::Provider::Corosync
Remove crm_attribute command declarations that are now unnecessary
Merge pull request #46 from bitglue/3446_crm_attribute

3446 crm attribute
Template compatibility Puppet 3.2

Puppet 3.2 complains when using local variables instead of instance
variables when passing data from Puppet to ERB.
Implement test to demonstrate failure
Allow cs_primitive to function when utilization is not provided
Implement tests for flush