nfai_build_match_string: produce an empty fragment for empty string
run.sh: disable -Wunused-function
remove NFAI_OP_NOP
remove a lonely splint annotation in the code

Added by mistake in @6f4d008fbfd2c70d1de3048eaf5fd3dc82f555bb
which was supposed to only be adding the NFAI_UNUSED macro.
remove name of enum NfaiOpcode (it's too similar to NfaOpcode)

Enums don't need names unless you're actually going to use them as types,
which I'm not because I don't want to leave choice of integer types
up to the compiler.
change nfa_size so it doesn't rely on the type of the Nfa::nfa field
make NFA_MAX_OPS an internal symbol (NFAI_MAX_OPS)

The client can't really do anything useful with that number anyway.
replace the nfa_size() macro with a normal function
make the comment on the NFA_DEFAULT_PAGE_SIZE/MAX_STACK value less pushy
make struct Nfa opaque in the API
use uniform indentation of preprocessor statements inside if(n)defs
prefer constants in enums to #defines
remove an unnecessary macro
first implementation of character-class complement operation