use real type marshalling for fields tool

instead of inspecting the JSON tags on the struct fields directly,
actually run it through JSON marshalling and unmarshalling, then compare
those results.
intial support for endpoints that return arrays

it's not the cleanest, but it works.
add pagination support for more methods

This includes all of the methods mentioned in this blog post:
https://developer.github.com/changes/2014-03-18-paginating-method-changes/
as well as a handful of others I found.  Sadly, this is a breaking
change for many of these methods because it changes the method
signature, but with yesterday's API change these methods are now broken
anyway. :(
add doc section on conditional requests
add link to api docs for conditional requests
fix copy/paste typo in conditional request docs
add missing fields for various types

Includes additions to User, Organization, Repository, and Gist.  Some
minor changes to existing fields based on changes in the v3 API (for
example, Gist.User became Gist.Owner).  Most everything else is new
additions.

refs #103
Added support for the GitHub Pages API.
Fix English sentence