Optimize NQP Match object construction.

Before, CAPHASH built a hash, which we then re-walked and turned into
the list and hash needed for the Match object. This meant an extra
throwaway Hash and iterator every Match object, as well as the time
iterating them. This reduces the cost by eliminating one of the
passes. CAPHASH remains since Rakudo's Match construction still needs
it; porting the optimization to Rakudo is an exercise for the reader.