Adding framework files and abstract classes

Purely abstract classes go in Abstract Classes folder
Do not disturb the filestructure, files are linked according to relative
paths
gitignore is set for Visual studios files