Integrate ChangeDescription into Envision

Modify GenericNode:
- ChangeDescription is friend class
- Store parent in GenericNode
Integrate Diff into Envision
Merge branch 'development' into version-control

Conflicts:
	FilePersistence/FilePersistence.pro
	FilePersistence/src/simple/GenericNode.h

Modify to handle new GenericNode:
	FilePersistence/src/version_control/ChangeDescription.h
	FilePersistence/src/version_control/ChangeDescription.cpp
	FilePersistence/src/version_control/Diff.h
	FilePersistence/src/version_control/Diff.cpp
Improve include structure in FilePersistence for Diff/ChangeDescription

Remove unneeded includes and exchange some with forward declaration.
Include FILEPERSISTENCE_API and use using for typedefs.
Integrate GitRepository into Envision

ToDo: Adapt findParents to Parser
Add CommitProperties to GitRepository
Fix memory management concerning libgit2 structures
Add load from char data string to FilePersistence::Parser
Add functionality to find parents in workdir to GitRepository
Add public diff data access to FilePersistence::Diff
Add tests for FilePersistence::Diff
Improve memory management in FilePersistence::Diff
Implement and use additional constructor in ChangeDescription
Add CommitGraph to version control
Add basic History structure
Add mock-up diff command CDiff
Improve handling of workdir and index in GitRepository
Add checkout functionality to GitRepository
Fix diff related bugs in GitRepository
Improve mock-up diff visualization in CDiff