Add an 'event' command

A command to handle world events, this'll be useful for sure!
See the meta description of the command for more info.
Add some Event related tags

- server.has_event[event_name]
- server.get_event_handlers[event_name]
- entry[saveName].determination for the event command
- ALSO, advance the EventManager/dPlayer update -> now the placeholder
is deprecated, and the original function takes only a dPlayer... you can
now no longer directly input a Player object.
Add an ItemDye property

Now leather armor will reconstruct properly!
Allow 'if li@loc1|loc2 contains m@material'

- You can now check if a list of locations contains a specific material,
just using the existing 'contains' comparison operator!
Allow player permissions to sort-of work offline

.world and .global options now work offline... standard has_permission
has no option to take a direct player name without an entity though,
sadly.
Don't error on creeper powered by invalid source, fixes #719

Some plugins might set a creeper to a 'powered' state without providing
a source entity... this will ensure Denizen doesn't throw an error
message when that happens.
Add player first login event

- An event for the first time a player logs in ever
- prevent Bukkit stupidity duplicating players in server.list_players
Update the invisible command

- Now takes a direct entity input, while still accepting 'player' or
'npc'
- state is optional, defaults to true
- better meta slightly
- uses the 0.9 command system properly
- also fix some typos
Allow 'time changes' event without specified world

Just quickly fire the event without a world name in the title, for more
generic scripts.
Add worldtype argument to the createworld command

- worldtype: flat, large_biomes, normal...
- also update the command's internal stuff
Merge pull request #723 from mcmonkey4eva/master

Pull request for event magic