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).*/.
testpy.py: Add a test for Issue #44
[dist] Update HISTORY
Merge branch 'topic/fix-optimization-with-negative-look-ahead'
[dist] Update HISTORY

Add new URLs.
[impl] Update debug log

* Offset was meaningless, when p is FinishCode. Show -1 instead.
* Use PRIdPTR.
Merge branch 'master' into bregonig