RT #123498: Empty binding error in some cases (partial fix)

On MoarVM, if unexpected named parameters came in through capture or hash
interpolation, the error message would be empty.

An "if $error" would be false in the case, because $error is usually an empty
array. Changing it to an "if nqp::defined($error)" as the rest of the code
uses should prevent error messages from going missing.