Clean up Defenses

Yesterdays defenses were crappy.  Now defenses are specified by a
DefenseType instead of a subclass.  What was I thinking?