Move world events to API, move some effects to API, make RandomEffect abstract, no implementations for it yet.

Signed-off-by: Nick Minkler <sleaker@gmail.com>
Merge pull request #522 from Sleaker/master

Move World events to API