Make sure some list methods fail (early) on infinite list

I wonder whether "infinite" shouldn't become a true attribute on List, rather
than a method that calculates stuff.  And/or use MMD with a different candidate
for Infinite lists.
Remove unneccesary vivication, they autovivify now.
Make .categorize return Hash rather than a Parcel of Pairs

To match S32/Containers:191
Add :keytype and :of named parameters to classify / categorize

So that we can return non-string values from test block if necessary.  This
is unspecced.  If this feels right for TimToady / pmichaud, it should be
specced.  If this doesn't feel right, then I'll revert this patch.
Some more things needed to make :keytype and :of work on classify|categorize
Make the "undef" message refer to Any, rather than Mu

As suggested at http://irclog.perlgeek.de/perl6/2013-06-14#i_7197427
Make .hash a contextualizer again

As discussed at: http://irclog.perlgeek.de/perl6/2013-06-14#i_7197917
Undo typed hash support for List.(classify|categorize)

pmichaud didn't like it.  And he was right.  :-)
better error messages for hash shapes.
make sure those errors have pos-in-file info
Merge pull request #163 from timo/hash-shape-errors

better error messages for hash shapes.
Make sure $default doesn't leak to GLOBAL::
Implement Hash.(classify|categorize), as well as other mapper types