Leave the nupic build/install process the more "pythonic" as possible

This PR aims make Nupic "pip installable". For this it tries to leave the build/install process the more "pythonic" as possible using:
a) native support from SetupTools to build all C++ extensions (https://github.com/numenta/nupic/issues/1573) 
b) using Python scripts to perform jobs that were being performed by C++ executables (https://github.com/numenta/nupic/issues/1576).

The motivation of B is because it's very tricky install all current cpp executables and libraries using A solution. Some of these libraries (like `bindings`) are inevitable to be build as extensions, however c++ extensions like `htmtest` and `compare_nupic_core_version` can be replaced to python scripts. Different than bindings, these 2 extensions are complicating the process as they should be installed into souce repository (`bin` folder, to be exact) and not into `nupic` package install folder like the other modules. 

Once that all extensions now can be build in a natural way, we can remove CMakeLists.txt from NuPIC Pyhton. This makes that CMake becomes essential only to build the NuPIC Core library: as this is an optional job, we could bypass CMake/Git use during PIP process decreasing the number of build/install steps and dependencies.

I still am working on the pythonic version of `HtmTest`. Thus it's normal that some tests fail, because Travis still is referencing its c++ version. 


@DavidRagazzi You have to handle all HTTP errors here. Not matter what the error, print a warning and proceed with a local clone and build of `nupic.core`.