Merge branch 'bp-0.3.0' of https://github.com/qreal/qreal into typed_ports
the first version of typed ports: element ports know their types, edges know types of ports they can connect to, and PortHandler knows ports of which kind it can return; non-typed ports are kept for backward compatibility: any edge can connect to those ports
ports description in metamodel; port types generation
separation of elementImpl and portImpl
ports drawing moved from SdfRenderer to port classes themselves
all mentions of "portRenderer" are removed
added port element to metamodel and port types generation
fixed a couple of troubles with metaeditor
added generation of port types for edges
Merge branch 'master' of https://github.com/qreal/qreal into typed_ports
setting port types in possibleEdges instead of element types
checking possible edges correctness
Merge branch 'master' of https://github.com/qreal/qreal into metaeditor_fix
Merge branch 'metaeditor_fix' into typed_ports
forbidded reversing of link if its port types disallow it
separate files for generated elements and ports
Styleguide fixes and small refactoring.
Merge branch 'master' of https://github.com/qreal/qreal into labelsFix

Conflicts:
	qrgui/umllib/label.cpp
	qrgui/umllib/label.h
port types privatization
ports generation and initialization are independent of concrete port classes