Fixed shadow logic to disallow power attacks

The shadow logic seemed to be incomplete, and the unit tests were inappropriate. Now, the logic has been totally rewritten, and appropriate unit tests are now present.

Fixes #112.

Known incomplete: BMSkillSpeed and BMAttackSpeed are incomplete.