Cleanup
Messy but properties of generic protocol types seem to be working
Creates virtual entities which show what properties can represent
Only show relevant interfaces
messing around with colours
dashed line for virtuals
Moved files
Bug which caused empty protocol definitions on properties
Merge pull request #6 from darkFunction/Move_interfaces_into_classes

Restructured general rules of diagram so that we are better able to represent interfaces