JUnit Tests plus minor fixes

The takeDamage() and dealing with shields method had the same original
problem that dealDamage() and weapons had, so I made some minor changes.
Shield also had a small bug. Neither changes are particularly big and
shouldn't cause too much problems.