Don't use a hash as a reference

Using a hash as a reference was deprecated before Perl 5.8 and is a
compilation error starting in 5.21.1.  This caused most of the test
suite to fail under 5.21.1.
Along with deleting the symbol table entry, actually undef the glob value

This removes the variable's value for any existing references to it
outside the symbol table.  The symbol table is only used for new
compilations (i.e. string eval during runtime).

Note that ->clear_vars() appears unused in the core of recs, though it
may be used by outside callers.
Escape curly braces in regexes to avoid deprecation warnings

This deprecation warning was added in a 5.17 development release, but
removed before 5.18 due to unforeseen syntax issues when the regex
delimiters were curly braces (m{...}).  Perl 5.21.1 re-introduces this
deprecation warning now that the syntax issues are resolved.  Presumably
the deprecation warning will remain for the next stable release, 5.22,
this time.

Escaping the braces should cause no problems on earlier perls.
Merge pull request #46 from benbernard/tsibley/perl-5.21-compat

Perl 5.21.1 compat