Fix that "ab" =~ /(?!^a).*b/ didn't match (Issue #44)

See also: https://bugs.ruby-lang.org/issues/9728

Optimization for '.*' was wrong. Optimization should be disabled not
only for /(?<=x).*/ but also for /(?!x).*/.

(cherry picked from commit 15ddec6d18e27fdc1988236764e766fd5892ecf5)

Conflicts:

     regexec.c