Add gepetto_hooks gemspec

Without this patch the dependencies in Bundler aren't resolving
properly.  This patch addresses the problem by allowing the library
itself to be referenced in bundle.
Update bundle gemfile and lockfile

Without this patch the bundle doesn't reference the gepetto_hooks gem.
This patch updates the gemfile to resolve dependencies.
Add bundle exec rake jobs:summary task

Without this patch we don't have an easy and automated way to summarize
all of the cards completed in a given time.  This patch addresses the
problem by adding a `jobs:summary` task.  This task will scrape all of
the cards in the `TRELLO_FINISHED_LIST_ID` column and create a summary
of the results.  It will use a Liquid template from
https://github.com/puppetlabs/puppet-webhooks/blob/templates/templates/trello_template.md.liquid
by default.

The URL may be overriden using `SUMMARY_TEMPLATE_URL` with the rake
task.  e.g. `bundle exec rake jobs:summary
SUMMARY_TEMPLATE_URL=http://jeffmccune.com/summary.template`
Update README
Make default RACK_ENV=test not production

This makes `bundle exec rake spec` work more cleanly out of the box
without having to explicitly state `bundle exec rake spec
RACK_ENV=test`.
Add completed job summary jobs:summary task

* completed_card_summary:
  Make default RACK_ENV=test not production
  Update README
  Add bundle exec rake jobs:summary task
  Update bundle gemfile and lockfile
  Add gepetto_hooks gemspec
Fix unhandled exception trying to authenticate against Travis

Without this patch JSON data posted to the events endpoint will cause an
unhandled exception when trying to check for travis authentication.
This exception is caused by the request data not containing the expected
structure of a Travis event.

The method that checks if a request is an authentic request from Travis
is expected to simply return false for requests that do not originate
from travis.  The method itself should probably be cleaned up to make
this more robust, but this patch is sufficient to avoid the 500 server
error.
Save events before authenticating them

Without this patch events that cause unhandled exceptions in the
authentication logic will not be saved into the Events table for later
inspection.  This makes it difficult to see what incoming events are
causing the exception in the first place.

This patch changes the behavior of the system to store events to the
database prior to authenticating them.  There is some security concern
with this, as an attacker could overflow the events table with garbage
data, but this events table is primarily used for troubleshooting and
not for providing actual service, so the risk is worth the value of
having the troubleshooting information available.
Merge branch 'fix_cla_hook'

* fix_cla_hook:
  Save events before authenticating them
  Fix unhandled exception trying to authenticate against Travis
remove redundancy in README
:fire: old logic
explicit is better
added fixture for comments
add spec and implementation for comment model
initialize a pull request when initializing a issue
delegate method to retrieve a comments pull request
these are already defined on the super class
delegate repo_name method to issue from comment
consistency is key
add author information to comment model