A single CMake file with all build information

A new and improved CMake file.

Improvements:

Replacement of all CMake files to a single file in order to ease understanding and maintenance (this avoids several files scattered in the repository).
Environment variables (PATH, PYTHONPATH, NTA_ROOTDIR, etc) are set in own CMake file.
Now it use the own Swig executable and dependencies located on External folder. Before this, I used 'find_packages' which could set an incompatible version for Nupic.
Now it use the system python, i.e. the python package called from shell natively (similar to what Autotool version does). Before this, I used 'find_packages' which could set wrong python interpreter or libraries.
Build result: SUCCESS (including Swig modules!)

Tests results:
HtmTest: SUCCESS in all tests!
TestEverything: SUCCESS in all tests!
Python tests: SUCCESS in all tests!
removed strstream from SharedPythonOStream

This commit includes what seems like an unrelated change in svm.cpp, but it seems that
the previous SharedPythonOStream implementation was making up for a misreported persistent_size
in the svm_parameter object.

I believe the final two string recastings of close in the SharedPythonOStream class to be the
place where the string length got adjusted, but I'm not sure exactly how that worked.

Furthermore, the SharedPythonOStream object has undergone substantial changes because it
was previously internally sharing a character buffer between a strstream and a PyString object.
Using stringstream, this is not possible, so any code relating to it is removed.
corrected getStream() declaration for SharedPythonOStream

In my previous commit, I removed the const keyword from the definition but left it
in the declaration. This is a good time to not that I'm taking the const keyword
out because the compiler errors when it tries to cast the stringstream into
a const ostream.
added proper length reference

In my big commit, I missed changing a variable to getting the size of a stringstream
directly. That is corrected here.
updated copyright years in touched files

Since it's a new year, I incremented the year for the files I'll be
proposing changes to.
fixed some style issues

Added underscores to the ends of class data members. Added a more
detailed class description.
Mostly import cleanups, some doc enhancements.

Added fully-qualified namespaces to internal imports within encoders so they would link properly in the doc build.
Adding encoders to doxyfile.
Doccing arithmetic encoder.
Working on doccing base Encoder class.
Update log encoder to work with current pipeline
Fix bug with division by int returning 0 (thanks Python). Re-arrage init params for readability
Add numpy for use in closenessScores()
Clean up Log Encoder tests. Add tests for count of buckets, output of closenessScores(), and output of getDecoderOutputFieldTypes(). Fix bug with integer vs scalar division. Remove previous dev cruft.
Finished documenting base Encoder class.
Implements feedback from @subutai on Log Encoder. Log encoded values are no longer scaled by 10x (not sure why this was done originally). Added better comments, doc string, and tests.
Remove rounding from log encoded min/max. This was unexpected behavior and was causing worse results.
Renamed NTA_CONF_DIR variable to NTA_CONF_PATH per #554.
Update Log Encoder tests to match new min/max logic in encoder.
Removed boilerplate comment above initLogging() calls in several places per @vitaly-krugl.