Mass Refactoring

See http://www.cplusplus.com/forum/lounge/112862/
Fixes #2, Fixes #51

The difference is huge, and the diff viewer is probably not the way to go. I'd recommend just reading the code in my branch and re-learning how it is designed. I've also got a doxygen file in the root directory that builds into `docs/` - you can run doxygen (make sure you have the recent versions which support C++11) and examine the documentation - though I've only documented the files in `src/util/`, so everything else is just shown as-is.

I've also added travis-ci integration, for what it's worth - the travis builders all have outdated versions of SFML and Boost, and the compilers are too outdated to compile the code anyway. **Note that this is why it says 'merge with caution' - travis-ci just has outdated stuff.**

Make sure, and this is the most important thing, that you are able to build, link, and run ChessPlusPlus without problems. I recommend using nuwen MinGW 4.8.1 on Windows (requires 64-bit). I've got no experience on other platforms however, though Thumperrr seems to be having success on OSX.

I use this batch in the root directory for compiling:
```bat
del /s /f /q .\build\* && for /f %%f in ('dir /ad /b .\build\') do rd /s /q .\build\%f
title ChessPlusPlus-Build && mkdir build
cd build && cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=RELEASE  -DSTATIC_BUILD=1 -DSFML_ROOT="C:/Program Files (x86)/SFML" -DBOOST_ROOT="C:\MinGW" ../
cmd /k "make"
```
After it runs you can keep running `cls && make` every time you make changes to files. If you add or remove files you need to close the console window and run the batch again.