Added basics for new "Assembly AI"

To get a proper structure of the project I had to do some cleanup, which
was to move the "rules" of the "Static Rule AI" into "player" (since no
AI except the "Static Rule AI" uses them). Now everything player-related
is in the "player"-folder.
Added some license information
First playable version of "Assembly AI"

Added "Insane Core", a core which behaves completely random. Right now
the AI is still stupid, but at least it is playable.
Added a message to "Assembly AI"
Hardened "Assembly AI" against situations where no solution was found.

For example, situations where the Cores would always retriere or
situations where always to many cores disagree.
"Insane Core" should now work with less than 3 free places
Added "assemblyaihelper.cpp" and "assemblyaihelper.h"

This two files should contain a few extra functions which are helpful
for all cores. The beginning is "ensureOnePossibleMove(float ** const
vote, Gameboard board, int player)", which should ensure that the vote
array contains at least one move which is possible
Added "ensureNoIllegalMove" to assemblyaihelper.

This function deleates all votes which can't be played. After that, it
ensures that at least a single legal move is left.
Added another save guard to AssemblyAIPlayer
Added "Corner Core"
Added "Center Core"

Added some comments to explain some behaviour.
Fixed a number in centercore.cpp
Added "Greedy Core"
Improved "Center Core"
Deleted unnecessary inclusion of QDebug
Added "Edge Core"
Fixed "Corner Core"
Changed _neededToChange

For now setting it to 1 gives better results. In a later state of the
"Assembly AI" (with more cores) this value can change again.
Merge branch 'master' into assembly_ai

Conflicts:
	harbour-reversi.pro
	src/player/staticruleaiplayer.cpp
	src/player/staticruleaiplayer.h
	src/translation/reversi-core_de.ts
	src/translation/reversi-core_en.ts
Resolved the conflicts