fix : FindAndReplace was modifying script with non canonical push op, add hash tests, refactor RemoveCodeOperator to use FindAndReplace instead
sighash test
More tests, refactoring to avoid duplication