Save exceptions to redis and add better error handling to retrieve the gem specification

Easy debugging for developers

- Allow you to save the exception to a redis list with `push_exception`, you have to manually use it in your rescue block. I'll check with lita authors to see if we can add a cleaner way to catch all the exceptions.
- The exception queue is limited to 20 items.
- You can `pop` the exception from the queue with the command `why computers so bad?`

Fixes #3
Example for context:
```ruby
push_exception(e, :project => "#{user}/#{project}", :pr => pr)
```