New test for another error case in DepositScriptAddress

> I don't think the callback version is significantly less clear than
> having a SetCryptoKeyScript as you suggest.

You wrote 3 lines of comments to explain what's happening. This is too clever. Callbacks and closures are advanced CS concepts for a reason. They're error-prone and often lead to complicated code. Err on the side of simplicity whenever you can. This is a well-known programming/design principle. Keep it simple, stupid (KISS).

> this can be seen as defensive programming, where you make it 
> harder for things to be misused in the future

Each test is independent. The new test writer should understand how everything works and make a measured decision. This just makes the replacing opaque to the test writer, which is exactly what you don't want in a test. This also makes it tempting to monkey around with the RunWithReplacedCryptoKeyScript itself if the callback function, for example, takes arguments.