leach works on hashes and hashlike objects now

fixes for perl 5.10 and 5.12:
* in 5.13 and higher, (+) prototype handles \@, \%, and $obj
* in 5.10 and higher, (\[@%$]) casts $object to \$object
* in 5.06 and higher, (\[@%$]) casts $object as $object

I can see why people didn't like the 5.10 release of perl.