/**
 * call-seq:
 *     oregexp.sub!(str, replacement)
 *     oregexp.sub!(str) {|match_data| ... }
 *
 * Performs the substitutions of ORegexp#sub in place, returning
 * _str_, or _nil_ if no substitutions were performed.
 *
 **/
static VALUE oregexp_m_sub_bang(int argc, VALUE *argv, VALUE self) {