Merge "modular" branch

* Creates separate Python sub-modules of abstraction_layer for dynamics, connectivity
* Refactoring of user_layer module into a several files
* Changes to code_generation/nmodl