Arbitrary Dimensions Names

These changes let you specify arbitrary dimension names in the "dimension" render key, as described in the docs (but previously *un*supported). This change touched rather a lot of files, so this pull request is basically a reminder to me to test this better at some point.

Things that need testing:
 * normal nether renders
 * bukkit dimensions
 * POI