Add Conditional Request and Data Persistence Support Alternative Solution

An alternative solution to pull request #189 based on #192. I am making this new pull request for clarity.
Change List
---------------
1. Add support to [Conditional Request](http://developer.github.com/guides/getting-started/#conditional-requests) API.
  * Add ```GithubObject.etag``` property
  * Add ```GithubObject.last_modified``` property
  * Modify ```Requester``` class to handle 304 response code
  * Modify ```Requester``` class to enable making conditional request
  * Add ```NotModifiedException``` class for 304 response code
  * Add ```GithubObject.update()``` method
  * Add a few private helper methods to make this work
2. Add methods for Data Persistence
  * Add ```GithubObject.save(file_fname)``` method
  * Add ```GithubObject.load(file_fname)``` class method
3. Test class for conditional request