Use option() instead of set() for configuring usage of Boost, Qt, and TinyXML.

This way these defines can be controlled from the command-line and no manual editing of the CMakeLists.txt is required.
Add description strings for the option() calls.
Typo fix.
Add BUILD_SAMPLES and BUILD_TEST options for configuring whether the kNet samples and tests are included in the build.
Include samples/FileTransfer only if USE_QT is TRUE.
Merge remote-tracking branch 'remotes/stinkfist/master'