Change inheriance method of all ships + change of update_stats()

Inheritance of Battleship is changed from Battleship.__init__(self) to super()
It should ensure that parent methods can be used from child objects

update_stats() is invoked in receive_damage()
Battleship has own update_stats() method now
Also update_armor() is moved to class.

Special handling is added to dispatchers in case if unexpected result is passed from ui.interact()