Updated model to suit our new needs

- added enum BlockType
- added virtual method BlockType to Block class and its descendants
- used shared pointers instead of unique pointers
Changed name of DataflowProjectModel class
Changed field names in InputTransition class
Added method for loading model from xml file