Started work on Game actually doing something

Changed the way in which targetting works for players, the board now only places
tiles and does no verification and cleaned up Game::play() somewhat.
Can now target either fields or specific tiles
Made some parts of Tile private
Basic tile placing should work

Also parts of a tile can now know of which tile they are parts, armies
initialize that when getting an owner. Movement is not implemented, but there
are stubs.
Added using abililties

Some tile functionality is implemented, but much more needs to be done.
Added a function for running a battle

It is called from nowhere for now.
Changed battle to allow asynchronous requests
Replaced Placing with Ability

Also some changes to Ability -- it now has generic "strength" and contains some
methods previously from Placing. Similiar refactoring will soon happen to Attack
and Modifier.
Replaced attack with ability, only modifier left
Replaced Modifier with Ability
Cosmetic changes in Tile

The removal of some unneccessary viariables is a prelude to upcoming changes to
how tiles are modified by other tiles.
Removed all tuples, creating necessary structs
Added removing modifications
Game now does everything it should except movement

Also some cosmetic changes, mostly to use AbilityIdentifiers where they make
sense.
Added movement

Cleaned up the code responsible for moving tiles around the board and added a
way to activate abilities of tiles, that will later be resolved.

This concludes
the current batch of work with the Game class and we should move on. Writing
some tests would be nice though...