Reorganize code to avoid double errRecover()s

All callers of prepareTo() are already recovering from errors except
Prepare().  Avoid the overhead of double errRecover by making Prepare
handle it instead.