Move to Rugged

## IT'S RUGGED (concerning issue #356)

Inspired by seeing the Hobbit this weekend, here's the beginnings of a move to the rugged library that i coded up. i don't expect it to be merged in yet, but i wanted to put forth what work i have. i plan on continuing to work on it too. In fact, i would love people to help out and give me some horizontal PRs :family:

## it wroks! i mean works ( :triumph: )

The wiki will run the basics, like displaying pages and history. It won't pass many tests, but i'm slowly fixing them up too.

## please help?

i don't mind managing the move to rugged within this fork and branch if it will be useful to the project. i plan on doing that by taking in horizonal pulls.

i'm not much of a Rubyist (cc: most of my github repos... cc: my crappy gists of ruby scripts) and i thought this would be a fun opportunity to learn, so please hammer away at the code. i appreciate attempts to help me be a better programmer (please be nice :smile: )

Here's what needs to be done:

* Improvements to Rugged itself:
  * [ ] Rugged diff support: libgit2/rugged#181
  * [ ] Checkout support: libgit2/rugged#107

  Without these, it's tough to move forward.

* Tasks after the above:
  * [ ] Help me with walking through the logs for a specific path [in Gollum::Page#versions](https://github.com/jugglingnutcase/gollum/blob/rugged/lib/gollum/page.rb#L280).
  * [ ] Finish committing changes correctly using the index. (Hint: help me with `test/test_committer.rb`)
  * [ ] Pass all the tests

## full disclosure

my secret plan was to get this running on windows, but first things first. (That's a nice way of saying i had no fun compiling rugged on windows...)

**Happy New Year**