Cleaned-up the algorithm

* Created a Line class to use in the mediumAI algorithm to make it more
stream-lined and readable.
* Created a couple helper functions used by mediumAI:
- bestOfLines takes two lines and outputs the better of the two
- bestBlankCell scans a given line and returns the index to the "best"
blank cell in that line
make ai blocking instead of prioritize itself
Minor changes to allow for blocking

NOTE: AI still does not attempt to block.
Merge remote-tracking branch 'origin/mediam-ai-v2

Conflicts:
	ai.cpp
Awesome medium AI

Hieu did an awesome edit to the medium AI, now it works great
Fixed merge conflicts
Merge branch 'mediam-ai-v2'

Merged the latest Medium AI with Master