Add dep on Rugged

Gives us ability to manipulate git without shitty shelling out.
This is the first step of #9
Add Moi::Manifest::Endpoint
Just make it prettier, yo
Add the manifest data structure
Add owner and path to an endpoint
Manifest validates rather than raises error
Rename Endpoint#path -> webpath
Add datadir to endpoint, it generates localpath and fullpath
Refactor Endpoint, yet again... god, am I ever going to get around to building this thing?
Endpoint can be its own spec
Fix pending test
Expect Endpoint#fullpath to be absolute
Spec helper for messing with all the git and filesystem stuff
Clones an endpoint's repository
Fetches the repo if the repo DNE

Part of #9
Can extract file for an endpoint
Get some edge cases tested
Raises errors when asking for bad ref or file from an endpoint
Todo list for myself
Endpoint.fetch_file always pulls when ref is a branch