Change to GCommitNode's datetime field

Previously, the dateAndTime field was a string derived from the
toString() method of QDateTime. Now it is a QDateTime object, to enable
easier use in the UI
Framework for GBranchLabel class

GBranchLabel will represent a label showing a branch at a particular
commit
GBranchLabel object finished

GBranchLabel now works correctly and displays its branch name in its
center. Still not connected to branches in repo
Merge branch 'master' into canvasUI
Merge
Fixed lots of stuff...

Somehow shit got broken, it's 2:33 AM, so I fixed it. I'll just leave
it at that