WIP: Migrate to promised-git, add comments, cleanup code, update specs

__WIP__

I'm being evil and `push --force`ing onto this project, it's just so you can take a look at what is happing. :wink: