(maint) Make some methods public where specs were relying on them

Previously these methods were made private, but spec tests were still
using them as if they were public. Apparently, rspec 2 didn't enforce
access methods but rspec 3 does, so for the time being simply mark
the methods public (with a note to the user that they shouldn't be
treated as part of a public API).

As a possible future improvement the code could be rewritten to not
test using private methods, but that looks like a fair bit of surgery
for not that much gain at this time. Something to consider as/when
this code is refactored going forward.
(maint) Remove must alias for rspec 3

Previously, puppet had a monkey patch to rspec to alias 'must'
to 'should'. This was done to workaround the use of a 'should'
method in Puppet::Type conflicting with rspec's should.

With rspec 3 syntax, we can replace those with expect(...).to
syntax and do away with the monkey patch. (An earlier commit
programatically replaced all the actual 'should's in the spec
tests using transpec, but it missed the 'must's.)

This commit:
* remove the monkey patch to rspec
* uses the expect(...).to syntax everywhere there was a .must
* replaces use of the == method with eq
* includes some other minor rspec-3 changes to files that needed
  the above treatment