Ender portals

Ticket #325 

This adds the ability to place eye of ender into the ender portal frames. Once placed the surrounding blocks are scanned for a complete ender portal and if one is found the ender portal blocks are placed.
This also adds directional placement of ender portal frames and teleports the player/entities into the End / the Overworld on contact with an ender portal block.

Note that for a full portal to be formed, the last ender portal frame must point inwards in vanilla minecraft due to the way it detects the rest of the portal. The orientation of all other blocks is not checked. This is not the case with this PR, every orientation of the last portal frame will be sufficient to generate the portal.

The following events are now thrown for End portals:
- EntityPortalEvent
- EntityPortalEnterEvent
- EntityPortalExitEvent
- PlayerPortalEvent
- EntityCreatePortalEvent
@turt2live The event does get called repeatedly using Spigot (#1647) and CraftBukkit (1.7.2-R0.2), I just tried that again. I don't have a recent CraftBukkit build, so could you please verify your tests and/or notify me on IRC (if I'm there).
Testing procedure (using [ScriptCraft](http://scriptcraftjs.org/)):
1. Disable `settings.allow-end` in `bukkit.yml`
2. Start Server with ScriptCraft enabled
3. Type `/js events.on(org.bukkit.event.entity.EntityPortalEnterEvent, function(e){echo("a");});`
4. Stand in the end portal
5. Chat gets spammed with `a` (otherwise event wouldn't get called).