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)

Yeah, but there might be other things you want to iterate over like `BlockChangeEvent` iterating over blocks. Sure i can add it if i should but i personally thing there are more important things that should have the ability to iterate over.
(I don't know if there are/will be events where `Iteratable` will collide, because you can only Iterate blocks or statistic changes)