Renamed InitializationTests to InitializationTest
Refactoring TileInterface class for lesser memory footprint
    - Removed a lot of redundant fields
    - Updated methods to work with removal of fields
    - Using StringBuffer instead of String in the right places

Updated PieceFactory to reduce memory footprint
    - Piece class no longer contains field 'visual'
    - Visuals are now stored as part of PieceFactory.pieceMap
    - Removed redundant PieceFactory.listOfPieces
        - List of pieces can be obtained using pieceMap.keySet()

Refactored ITile.addToVisual      -->  ITile.addArtifact
Refactored ITile.removeFromVisual -->  ITile.removeArtifact

Removed WorldTree.stringRepresentation field
String representations are now computed when necessary rather than saved

The removal of WorldTree.stringRepresentation led to moving a lot of code
from Tile.addToArtifact to Tile.updateVisuals

Updated Space class to reduce memory footprint
    - Removed stringRepresentation, columnRepresentation fields
    - String representation is now computed entirely whenever necessary
    - Removed (now) redundant updateStringRepresentation method

Removed coordinates field from Tile class
Added Coordinates.stringToArray method to parse Coodinates from string
Fixed a bug in WorldTreeFactory.materializeDefinitions

case INT was picking val such that val == randomSpecHigh
This was due to
    int val = (int) (Math.ceil(data));

This has been replaced with
    int val = (int) (data);
Added small modification to Region.initNeighbours to better reflect
changes in skeleton - Space contains empty tiles instead of null
Added recurring field pieceStrings to internal.Helper class
Updated references to this field in several other classes
Added test.memory package

Created class MemUnit to represent memory usage (in b, Kb, Mb)

Create MemoryTest class with preliminary size test
Removed binary worldtree
Updated gitignore to ignore worldtree binary