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.
Finished documenting base Encoder class.
Renamed NTA_CONF_DIR variable to NTA_CONF_PATH per #554.
Removed boilerplate comment above initLogging() calls in several places per @vitaly-krugl.
Merge branch 'master' into remove-strstream

Conflicts:
	lang/py/support/PythonStream.cpp
	lang/py/support/PythonStream.hpp
	nta/algorithms/svm.cpp

The conflicts were in the year of the Numenta rights headers of the file. I had updated them to 2014, but I'll bring them back to 2013.

I bet all these headers will be updated together in a pull request before too long.
Fixed typo in error message ('neither ... not' -> 'neither ... nor').
Sleep properly rather than spinning CPU; fixes #454.
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.