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
```

This also includes migrations on both the serialized `Achiever` and the achievement events.