TileType enum and Tile classes

created an enum for tile types. Preferred method for creating tiles is
to call the Tile.CreateTileOfType method.

If you want to add new types of tile, create a class for them in the
World.Map.Tiles namespace and add them to the enum and CreateTileOfType
methods in Tile.

We should probably move those two to another class, but for now this
will do.