fix bug in argument propagation mutator

The argument propagation mutator created corrupted byte code when the
return value of an instance method's return value was used in a call to
another object, cf. the added tests.