Bindings refactored

This PR was created to simplify #1579 . Its objective is prepare bindings folder to c++ extensions build using setuptools. 

Detailed changes in logic order:
- Removed C# and Java outdated (and not supported) bindings. This change involved copy content from `bindings/EngineInternalCommon.i` into `bindings/py/EngineInternalPy.i` and `bindings/py/algorithms/AlgorithmsImpl.i` into `bindings/py/algorithms/AlgorithmsPy.i`
- Remove `IORange` binding. It is not used by any module at nupic.
- Move python bindings from `$NUPIC/extensions/bindings/py` into `$NUPIC/nupic/bindings`. Default `setuptools` pratice is that all c++ extensions should put into package structure.
- Rename all `*.i` implementation files to `snake_case`. This is not required itself, but improve the readibility as they are now within nupic package structure and also generated wrappers and shared libraries names are derivations of their names: `engine_internal.i` => `_engine_internal.so`,  `engine_internal_wrap.cpp`.
- Update CMakeLists.txt with the changes above.

CC:  @rhyolight @oxtopus @scottpurdy @subutai