Eliminate symbolize everywhere, and remove it.
The whole symbolize API was confusing and complex: because it didn't do any
type enforcement, just passed through arbitrary data, we had very unclear API
in a whole pile of places.
This replaces that method entirely with a more rigid definition: we intern in
a bunch of places, add the occasional clear failure mode, and then delete the
original definition.
This eliminates one point of complexity from the codebase.
(These other uses have no notable performance penalty, just code complexity
and clarity issues.)
Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
Conflicts:
lib/puppet/parser/functions.rb
lib/puppet/provider.rb
lib/puppet/provider/nameservice/directoryservice.rb