Message Spec Changes

Fixes #4, #6.

Message spec this uses:

```
event - The {Object} event to process.
  :name        - The {String} message to display to the user
  :requirement - The {String} that says how the user achieved this
  :category    - The {String} category where it belongs with other
                 achievements (e.g. linting, git, ruby)
  :package     - The {String} package this event was emitted from
  :points      - The {Integer} number of points
  :iconURL     - The {String} URL of an icon to display for the user, which
                 can be base64 encoded but must have a valid data prefix
                 such as "data:image/png;base64,". Optional, defaults to
                 spinning octocat.
```

This also includes migrations on both the serialized `Achiever` and the achievement events.