Patch for Issue 330.

findDMGProtection() checks the entire card for trashable status, not
differentiating between different AutoScripts with trash costs. I've
fixed that here by looping over AutoScripts rather than over cards when
preventing damage. I've also tidied up a bit of the boolean logic.
Merge pull request #334 from anoryx/patch330

Patch for Issue 330.