Keep track of achievements via a serialized state

Now users can only earn achievements once (unless they clear the state out).

![lets achieve](https://f.cloud.github.com/assets/836375/2427279/0fe9acfa-abdd-11e3-9cdf-fbca3bae9622.gif)