Add the val() function.
Add the val() function.

Takes a Str, returns an allomorphic type if possible, or failing that
the Str. This massive function's structure was only vaguely inspired by
Str.Numeric, basically just reusing the use of inner subs in the
function, for those curious :P . Even then it was written separately
from other implementations of string-to-numeric stuff.

Isn't quite perfect, for example don't try ":16<F*:2<1*2**10>**2>" or
":16<F*2**:2<10>>". Those sorts of things are pretty much asking for a
regex-based implementation of val(), but that was avoided here based on
the idea that using a mini-grammar would be slower than desirable.
However, use of a grammar (or $~MAIN's various grammar rules, if
possible) should be considered anyway, and would likely be a lot clearer
than this performance-considering version.

The large pod comment prefacing the function is an attempt to help
clarify how all the inner subs relate to each other, to aid
understanding for both myself and others. I'd be fine with moving it to
a separate file in rakudo/docs, for example, but I don't think it should
be removed completely. It and the declarator blocks on the inner subs
have been commented out since the Pod portion of the parser dies on
them while processing CORE.

ugexe/rakudo,usev6/rakudo,sjn/rakudo,salortiz/rakudo,softmoth/rakudo,rakudo/rakudo,tbrowder/rakudo,cygx/rakudo,tbrowder/rakudo,MasterDuke17/rakudo,rakudo/rakudo,sjn/rakudo,Gnouc/rakudo,jonathanstowe/rakudo,labster/rakudo,ugexe/rakudo,tbrowder/rakudo,rakudo/rakudo,raydiak/rakudo,LLFourn/rakudo,paultcochrane/rakudo,b2gills/rakudo,softmoth/rakudo,MasterDuke17/rakudo,tony-o/rakudo,ungrim97/rakudo,lucasbuchala/rakudo,azawawi/rakudo,jonathanstowe/rakudo,sjn/rakudo,ungrim97/rakudo,tbrowder/rakudo,paultcochrane/rakudo,rakudo/rakudo,salortiz/rakudo,usev6/rakudo,MasterDuke17/rakudo,raydiak/rakudo,rakudo/rakudo,tbrowder/rakudo,Gnouc/rakudo,nunorc/rakudo,dankogai/rakudo,LLFourn/rakudo,nunorc/rakudo,b2gills/rakudo,cygx/rakudo,zostay/rakudo,samcv/rakudo,Gnouc/rakudo,sjn/rakudo,dankogai/rakudo,ungrim97/rakudo,nbrown/rakudo,salortiz/rakudo,MasterDuke17/rakudo,cognominal/rakudo,dankogai/rakudo,raydiak/rakudo,lucasbuchala/rakudo,nbrown/rakudo,cognominal/rakudo,skids/rakudo,awwaiid/rakudo,skids/rakudo,b2gills/rakudo,tony-o/rakudo,ab5tract/rakudo,softmoth/rakudo,azawawi/rakudo,nunorc/rakudo,b2gills/rakudo,cognominal/rakudo,skids/rakudo,paultcochrane/rakudo,ugexe/rakudo,azawawi/rakudo,nbrown/rakudo,dankogai/rakudo,samcv/rakudo,softmoth/rakudo,samcv/rakudo,awwaiid/rakudo,nunorc/rakudo,labster/rakudo,ab5tract/rakudo,salortiz/rakudo,azawawi/rakudo,labster/rakudo,sjn/rakudo,awwaiid/rakudo,cygx/rakudo,usev6/rakudo,tony-o/rakudo,ungrim97/rakudo,samcv/rakudo,MasterDuke17/rakudo,awwaiid/rakudo,MasterDuke17/rakudo,cygx/rakudo,skids/rakudo,Gnouc/rakudo,nbrown/rakudo,tony-o/rakudo,awwaiid/rakudo,jonathanstowe/rakudo,samcv/rakudo,labster/rakudo,labster/rakudo,tony-o/rakudo,cognominal/rakudo,skids/rakudo,dankogai/rakudo,nbrown/rakudo,ab5tract/rakudo,softmoth/rakudo,usev6/rakudo,raydiak/rakudo,ugexe/rakudo,salortiz/rakudo,LLFourn/rakudo,rakudo/rakudo,ab5tract/rakudo,paultcochrane/rakudo,zostay/rakudo,cygx/rakudo,lucasbuchala/rakudo,nbrown/rakudo,labster/rakudo,jonathanstowe/rakudo,ugexe/rakudo,zostay/rakudo,cognominal/rakudo,jonathanstowe/rakudo,ungrim97/rakudo,Gnouc/rakudo,lucasbuchala/rakudo,LLFourn/rakudo,salortiz/rakudo,usev6/rakudo,ab5tract/rakudo,tony-o/rakudo,tbrowder/rakudo,LLFourn/rakudo,b2gills/rakudo,zostay/rakudo,lucasbuchala/rakudo,paultcochrane/rakudo,Gnouc/rakudo,azawawi/rakudo