Refactored Dungeon to use a Tile object

Test cases updated. Also open files with utf-8 encoding for Python 2
compatibility.
Tile has a better repr. Amended test cases