Add real plist value type

Some plist values are of the type 'real' but this was not previously
allowed.

Small spec changes due to varying puppet version differences.
Merge pull request #8 from hunner/real_value

Add real plist value type
Fix array wrapping around hash types.

When a hash is passed into Puppet, it is actually a singleton array with a hash. Therefore, it needs to be "unwrapped" by grabbing the first element.
Confine Rubycocoa to a Feature

Previously, I was trying to load the Rubycocoa library in the provider itself
and then catch any errors. The correct way is to implement a Puppet 'feature'
and then load the provider based on the Feature. This commit does this (leading
up to supporting more providers).
Support the CFPropertyList library

Previously, the property_list_key type only supported Rubycocoa. That was all
well and good when OS X shipped with Rubycocoa, but as of Mavericks (10.9) and
Ruby 2.0.0, Rubycocoa has been pulled.

This commit adds support for using CFPropertyList (CFP) to read plist files in OS X.
Now, CFPropertyList SHIPS with OS X Mavericks, BUT it ships with a version that
contains some bugs (namely, one that tries to monkeypatch Enumerable). Because
of this, we cannot use the version of CFP that came with Mavericks - we MUST
use a newer version (at least 2.2.5).

The implementation of CFP is easy - it's all contained within the read_plist_file()
and write_plist_file() methods in the provider file.
Fix for incorrectly writing string values

Previously, the correct method didn't do a catch for the
:string value_type in the create method. Because of this,
it would write strings incorrectly initially as arrays,
and then take a second run to correct them. This commit
changes that by correctly unwrapping the string value
in the create method.
Remove unnecessary comments
Ignore the vendor directory
Merge pull request #10 from nybblr/master

Fix array wrapping around hash types.
Merge branch 'master' of https://github.com/glarizza/puppet-property_list_key
Handle Hash values correctly in value= method

Previously, the value= method would treat :hash value
types like arrays and write the entire hash-wrapped-in-an-array
directly to the file. This was incorrect, as the hash
comes in as the first element of the array. Incidentally,
the create method worked just fine.
Bump version for PMT release
Update README.markdown for CFP usage
Fence codeblocks...
Clarify that only one method is needed

I probably wasn't as clear as I should be in the README, this
commit tries to clarify that only ONE of the gem methods is
necessary.
Update README with better Boxen instructions
Merge pull request #14 from glarizza/readme_for_boxen

Update README with better Boxen instructions