Initial support for error reporting plugins
Initial support for error reporting plugins

This attempts to address RT #128983 .  Whenever an error is to be
reported, the RAKUDO_EXCEPTIONS_HANDLER environment variable is
checked: if it contains something, it is considered to be the name
of a class extending the Exceptions:: class (so "JSON" would refer
to the Exceptions::JSON class).  If such a class exists, then the
method "process" is called in that class, with the Exception object
as the parameter.  That method is than supposed to completely handle
the error reporting.

This patch also adds an Exceptions::JSON class that outputs the
exception information as JSON on STDERR.

rakudo/rakudo,jonathanstowe/rakudo,awwaiid/rakudo,salortiz/rakudo,lucasbuchala/rakudo,salortiz/rakudo,sjn/rakudo,sjn/rakudo,Gnouc/rakudo,labster/rakudo,jonathanstowe/rakudo,tbrowder/rakudo,salortiz/rakudo,sjn/rakudo,tbrowder/rakudo,usev6/rakudo,usev6/rakudo,Gnouc/rakudo,usev6/rakudo,MasterDuke17/rakudo,MasterDuke17/rakudo,salortiz/rakudo,rakudo/rakudo,Gnouc/rakudo,nbrown/rakudo,nbrown/rakudo,rakudo/rakudo,Gnouc/rakudo,usev6/rakudo,labster/rakudo,labster/rakudo,samcv/rakudo,tony-o/rakudo,raydiak/rakudo,tony-o/rakudo,awwaiid/rakudo,awwaiid/rakudo,awwaiid/rakudo,tony-o/rakudo,usev6/rakudo,samcv/rakudo,rakudo/rakudo,tbrowder/rakudo,labster/rakudo,raydiak/rakudo,labster/rakudo,lucasbuchala/rakudo,softmoth/rakudo,rakudo/rakudo,Gnouc/rakudo,awwaiid/rakudo,tbrowder/rakudo,lucasbuchala/rakudo,softmoth/rakudo,tbrowder/rakudo,nbrown/rakudo,tony-o/rakudo,nbrown/rakudo,tony-o/rakudo,softmoth/rakudo,softmoth/rakudo,lucasbuchala/rakudo,nbrown/rakudo,raydiak/rakudo,raydiak/rakudo,tony-o/rakudo,tbrowder/rakudo,samcv/rakudo,jonathanstowe/rakudo,MasterDuke17/rakudo,MasterDuke17/rakudo,Gnouc/rakudo,sjn/rakudo,labster/rakudo,samcv/rakudo,rakudo/rakudo,softmoth/rakudo,lucasbuchala/rakudo,salortiz/rakudo,salortiz/rakudo,sjn/rakudo,MasterDuke17/rakudo,samcv/rakudo,jonathanstowe/rakudo,jonathanstowe/rakudo,MasterDuke17/rakudo,nbrown/rakudo