libtiled-java: Do not store firstGid in each TileSet.

We should not store firstGid in each TileSet, since it depends on the file being read orwritten.

Instead, they should be calculated on-the-fly when writing a TMX file.
Loading TMX files should parse the gids while the file is being loaded, but not persist them inside the TileSet.

This patch removes firstGid from TileSet, and manages internal structures inside TMXFileWriter/TMXFileReader that are only kept while writing/reading files.

Credits for the very clever idea of using TreeMap&gt;Integer, TileSet&lt; goes to Thorbjørn Lindeijer :)