Create initial Local Repo API

Add the following functions:
- Get a single branch, identified by name, from a local repo
- Get a list of all branches from a local repo
- Get the unzipped contents of a git object, identified by it's SHA-1

Add stubs for the following functions:
- Get the commit history for a local repo. Takes the absolute path to
  the local repo, and returns the CommitObject at the root of the git
  tree (well, it's actually an acyclic graph).
- Parse the contents of a commit object file into a CommitObject
  (private)

Make minor updates to model where necessary.
Get git graph in Local Repo API

- Assemble and return a complete git graph (commit history) for a local
  repository.
- Add logging messages to Local Repo API where appropriate. The logger
  is a bit messy and requires a global object, so need to open up an
  issue to look into other options for that.
Update README

Update README with basic project information to prepare for
open-sourcing. Still need to add Installation and Usage instructions,
and provide more detail in the Feature List before officially opening
the project. Stop reading this and go read that!
Add basic install information to readme

Add information about packages and binaries we plan on providing for the
program, and also add information about how to install dependencies.
Add more information to install section of readme

Add information about coming binaries to be offered for this
program.
Deserialize commit object file contents

- Complete the get_commit_object() function in LocalRepoApi.
  - Parse author, committer, date authored, and date committed
  - Do not parse tree right now, as we have no use for it in the
    foreseeable future (wow...I think that's the first time I've ever
    seen the word foreseeable written out and it's pretty weird, don't
    ya think?)
Refactor LocalRepoApi

- Refactor LocalRepoApi module into a LocalRepository class for cleaner
  front-end usage, and removal of repetitive passing of function
  arguments for repository path and commits encountered. Convert all
  functions into class methods.
- Rename model package to git.
- Remove localrepoapi package and move LocalRepository into git package.
- Clean up documentation to meet spec.
- Edit main to test LocalRepository object
Add Tags and clean up git data model

- Add Tag for lightweight tags and TagObject for annotated and signed
  tags.
- Remove all properties in data model in favor of direct attribute
  access (until properties are needed).
- Add "Attributes" section to class docstrings for all class fields and
  clean up docs to adhere to latest coding standards.
Update README

- Fix typo in Python 3 PyQt4 package name in installation instructions
- Update feature list
- Capitalize file name for convention's sake
Added canvas model classes
Added __init__.py to canvas/ to make it a package
Created all graphics item subclasses for canvas

All needed graphics item classes have been created, and contain only a
docstring
Added canvas model classes
Created all graphics item subclasses for canvas

All needed graphics item classes have been created, and contain only a
docstring
Updated commit node graphics item

GCommitNode now displays as a rectangle that can be dragged and selected
Create graphical node for gcommitnode

Create a rectangular graphics item to represent a commit.
It can be dragged around, and changes color on selection
Fixed spelling errors
Merge branch 'canvas' of github.com:AnthonyReid99/VisualGit into canvas

Conflicts:
	src/canvas/GBranchLabel.py
	src/canvas/GCommitNode.py
	src/canvas/GConnectionLine.py
	src/canvas/GGraphicsScene.py
	src/main.py
Implement conversion from commit to commit node

Create function to recursively parse a commit tree and convert it into
a commit node tree of the same structure. This newly created tree can
then be fed to a tree drawing algorithm to measure the position of its
nodes, then rendered to the canvas. Not tested