better logic for winCheck & board building [#1]

New way of putting the fields together as a board; through "smart"
constructors that place their field based on where their predecessor
was. Then a handshake-method is called on every field to link with the 3
to 8 neighbors. The fields are held in both a 2D-Array as well as an
ArrayList for quick access.
Every time a mark is being set the activated field can check directly
with its neighbors and “wander along” the 4 different pathways where
winning-chains can occur. After collecting the fields of an unbroken
chain (from 1 element to max 2 * winLength + 1, that’s because two
chains of length winlength-1 can suddenly get linked by a new mark) an
“island” object is created that holds those fields. Once Board registers
an island-object as long or longer as winLength the winState is reached
and the winningFields can be read out from the island-object. I think
the island-logic could come in nicely later on when building KI-versions
that "think" in strategies rather than in brute force.
Currently there is a very high redundancy in the islands-arraylist in
Board - i will have to implement a filter-gateway before adding them to
have a list with unique islands (again, a single mark is seen as an
island just as well as a diagonal chain of 3 for instance) in the end.
After integrating the functionality for building the Board as well as
checking for winState the BoardManager got so slim that i deleted the
class entirely and integrated the rest into Game.