Replacing instructions must update branch instructions too

The issue was a branch instruction was pointing to an instruction that was then replaced, and the replace code was not updating the branch so when the whole thing was finally saved back out the branch pointed to an IL offset that no longer existed.