(WIP) Unittests

@evansde77 

Working on a unit test for the git_tools module. Mocking GitPython is not as straightforward as I would have hoped. Running into some issues. I'm using Mox because I am more familiar with this than the standard python mocking tool.

Error I get running test:
E
======================================================================
ERROR: test_checkout_and_pull (__main__.GitToolsTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jordancounts/git/cirrus/tests/unit/cirrus/git_tools_t.py", line 29, in setUp
    self.mox.StubOutWithMock(self.repo.heads, 'master')
  File "/Users/jordancounts/git/cirrus/venv/lib/python2.7/site-packages/mox.py", line 308, in StubOutWithMock
    attr_to_replace = getattr(obj, attr_name)
  File "/Users/jordancounts/git/cirrus/venv/lib/python2.7/site-packages/mox.py", line 1018, in __getattr__
    'Did you remember to put your mocks in replay mode?' % name)
AttributeError: MockMethod has no attribute "master". Did you remember to put your mocks in replay mode?

----------------------------------------------------------------------
Ran 1 test in 0.002s

FAILED (errors=1)

you should probably verify that the mocks get called and called with the appropriate arguments as well 

self.failUnless(mock_repo.Repo.called)