Add some interfaces
* IBlock.cs: Refactored out IBlock

* VisualProgram.userprefs:
* IPort.cs:
* VisualProgramCore.csproj: 

* Port.cs: Introduce generic ports.

* IElement.cs: Refactor out interfaces
Defined the structure of Ports and Blocks
 Added basic ports and blocks.
Rename .gitignore file