Changes to match NQP qast_refactor branch.
Add a few typed exceptions and override P6Regex::Grammar methods to throw them.

This lets us test sensibly for RT #77380, RT #77522 and similar.
do not try to locate a macro when we do not have a name

A ternary expression resulted if an QAST::Op(if &infix:<>) where the
ope name is ignored, but we still tried to find a macro called &infix:<>,
which is bogus.
Add a fix for RT #122423
Disallow file operations on directories

This prevents rakudo performing file operations on directories on
platforms where the OS itself does not disallow this.

This fixes RT #122358
Add new file to spectests
Merge pull request #297 from carbin/nom

Disallow file operations on directories (RT #122358)
if available, use MVM_spesh_get_and_use_facts.
Properly easter egg 42
use --gen-nqp=<branch> if provided
bump NQP_REVISION to get sprintf fixes
RT #121990 DateTime/Date smartmatching
Support extended NFA cache API.

This supports Cursor optimizations recently made in NQP.
Oxford Commafication
mention a couple of minor changes in ChangeLog
Better handling of sink.

On MoarVM, this leads to a smaller QAST trees and much better code
generation. On JVM and Parrot, we get the first advantage, and we
could improve their code-gen in the future too. Note the Parrot bit
of this is untested due to being unable to build NQP Parrot on Win32
at present; the JVM patch worked right off, though, and there's very
little reason fro the Parrot one not to. Testing welcome.
Bump NQP revision for assorted improvements.
convert gen-cat.pl to nqp and use it
fix roadmap entry about label handling
Make Junction optimization less costly.

This refactor splits analysis and transform, decreasing the cost of
the common case when we just analyze and realise we're not looking
at a Junction.