add new type of the unit: Obstacle with Neutral type

Neutral is the type that doesn't attack any other type but has
corresponding damage & health. You can think about it as about a
'rock' on the field.
generate obstacles and draw them on the screen

For now they are completely ignored as new type & group is ignored
by all existing algorithms.
new obstacles should be generated everytime a new enemies are created
add TODO, this could be very nasty if not fixed
update comments
every unit now has reward property

Reward is the score that other unit gets for destrying it. Note that
it is unit vs unit, not ship vs enemy.
add score_for_extra_life & max_num_of_lives
extract unit_score_for_destroyed function
update comments
systematically calculate all collisions
minor if-statement restructure, easier to read
no need to abort if only one proj is dead
obstacle could be treated as neutral non-moving projectile
add operator<< for UnitType & UnitGroup

Much easier to log-debug when they are set
add default damage to ship
collision is symmetrical
add logging, need to make it nicier somehow..
suicidal attacks should score too
Merge branch 'obstacles'

fix #24