Also moved adjacency check from Engine.attack_and_fortify to
Engine.attack and Engine.fortify. This will make it easier for
subclasses to change the rules (e.g. non-adjacent fortifications).
Also reordered attack / conquer log messages:
'attacked X from Y' -> 'X attacks Y'
which is shorter and makes the A:B ratios more clear.