Statistics/Achievements API addition: Events + added getter + setters to Player

**Helper PR for:** https://github.com/SpongePowered/SpongeAPI/pull/220
There is another PR for getting `Statistic`s and `StatisticType`s: https://github.com/SpongePowered/SpongeAPI/pull/317

Added Events
- `GrantAchievementEvent`
- `StatisticChangeEvent`
  - `StatisticChange`
    - `StatisticChangeType` (`ADD`, `SET`, `RESET`)

Added methods to `Player`
- get, set, add, reset, getAll, resetAll `Statistic`s
- has, grant, revoke, revokeAll `Achievement`s

This PR assumes, that there are only `Statistic`s that use `Long` values.

**TBD**
* Remove `StatisticChangeType` / call event only for `ADD` and not for plugins.
* `StatisticChangeEvent` allow `StatisticChange`s to be added by plugins, so that they can be part of the event handling process and are only applied at the end of the event handling process if the event is not cancelled `Iterable`->`Collection`
* Replace `StatisticChange` by an interface
* Move methods from `Player` (online) to `User` (offline)

Why didn't you implement `StatisticChangeEvent` in them already then? Maybe I have missed something, but up to now it looked like the event is a complete independent event, and not one that's supposed to be implemented in other events additionally.