simplify array types: They're always 1-dimensional with lower-bound 0
cleanup: replace dummy callbacks with NULL
cleanup: normalize asserts
use spec name in header guard
make verify_new_node function public
remove memory input from Sel node
make get_Block_cfgpred_block return NULL on Bad cfopt

Previously a Bad node was returned which could hide problems and more
importantly you create new nodes (the BadBB) in an operation that apparently
only queries the graph.