Pass redirection as callback

Passing redirection as a callback function prevents it to be called before POST request has been issued. Otherwise, on slow networks, redirection is effective before POST request and it leads to an internal server error at best or really strange behaviour at worst.
Work on transitioning from sh to gitpython.
* switch reference to git dir to use git object
* add handling for undefined repo to basehandler so correct behavior
  is not dependent on rendering index first
* change config_problem to a list at the application level so any view
  can populate
* change index template to render a list of problems

TODO:
* Prevent duplicate configuration errors
Merge pull request #15 from Erwyn/patch-1

Pass redirection as callback
in edit mode, textarea should have tabindex 1 for quickly getting into edit area
fixing import bug that was breaking running the server manually
making the fact that magpie only listens on localhost configurable
updating requirements, adding thanks for contributions
doc updates look like crap on GH
they still look wrong
.
derp i was using md syntax, not rst
version bump
adding todo for new feature id like
.
adding auto saver for 5s

auto saves note every 5s
Merge pull request #20 from tony-o/patch-1

adding auto saver for 5s
filter duplicates, filter .git based results

peter pipers
fixes #todos && clean up html/js
fixing bug in text-only emails for email_notes.py util