Don't try to survive scanning problems

This change does two things:
 * Fail scans instead of becoming confused.
   (The earlier solution preserved _mostly_ correct
   functionality on _most_ pages, but creates unsolvable
   problems on others - so we give up on this approach for now.)
 * Add minimal destroy functionality
Please use a useful message that describes what has actually gone wrong.