Compiler warnings, and small bug fixes
multithreaded classification
const interface for getNumberOfValues()
performance improvements
break the loop when the threshold is met
increased to warning level 4
vector map to replace std::map for perfomance
ignore profiling files
updateProbabilities() optimised.

processing 2500 rows, the function is called 5,061 times.
time spent in this function is reduced from 10.39% to 0.33%
Added bayesian classifier header files
Added conditional compilation to remove console output for profiling
optimised calculateProbabilitiesOfInputs() when `data` is empty (the case for keyword-extraction).

calculateProbabilitiesOfInputs() reduced from 62% or runtime to 2%, processing 10000 rows
optimised calculatePossibleOutputs() using key iteration instead of lookup

calculatePossibleOutputs() reduced from 37% of runtime to 6%, processing 10000 rows
single-threaded debug build. Always output accuracy result
replaced _strnicmp() with custom strncasecmp().

_strnicmp() took 15% of time processing 10000 rows. strncasecmp() inlined
calculateMapKey() optimised for larger datasets. improved progress reporting and configurable output. pre-allocate vectors for performance