Added SausageDogImprov and SausageDog Enemy type

Minor changes:
- ApplyEffect(), RemoveEffect() on Improv are now virtual.
- BasicEnemy Attack() now passes in AbstractTurret to remove all
reliance on interfaces