Merging in working branch, and started playing with some reachability queries.
Merge branch 'working' of github.com:okennedy/worldtree
minor example tweaks for testing time.
Added per-level empty maps to the hierarchical maps in ConstraintSolver

This solves a NPE if the definitions file is completely empty
Merge branch 'working' of github.com:gurupras/worldtree into working
Updated Parser to accept standalone query statements

Due to recent changes in the way query level was handled, the Parser
could no longer be used to run tests such as those in InitializationTest
Updated InitializationTest to use world.properties rather than init.properties
Updated QueryResolutionEngine to allow joins on both lhs and rhs

This commit needs further testing. Only a few simple queries have been
tested so far.
Merge branch 'working' of github.com:okennedy/worldtree
a few more test cases
a few more test cases
Fixed a NPE bug in ConstraintSolver when definitions file was empty
Updated Tile's artifact field to be a map of String-Datum.

Updated IWorldTree to reflect this.

Fixed visual bug in Tile's artifacts.

Artifacts would spill over to the tile's border due to logic bug.
We now search for contiguous spaces of length artifactLength + 1 and
start from idex + 1. This ensures that we don't stick multiple artifacts
together and also ensures that the tile's visual is left untouched.
Fixed bugs in QueryResolutionEngine
    - ValidateConstraints() was being called incorrectly. This was not
      observed unless there were multiple queries.
    - Fixed broken removal logic in validateConstraints()
    - Fixed issues with merging results of multiple queries

QueryResolutionEngine was still suffering from a few problems
    - Inability to join on either lhs or rhs
    - Result merging issues
    - IndexOutOfBounds errors in InbuiltRelations.direction()
    - Invalid results from InbuildRelations.direction()

This commit fixes several of these issues.
Recursive properties.
Added Logger class to Helper
This is to be used to handle output logging.

Previously, we could not use both -dumpProperties and -map.
This was because one of these would first execute and either close
the underlying stream (stdout) or erase the previously updated file.

This commit adds the Logger class to solve these problems.
Merge pull request #7 from okennedy/logger

Added Logger class to Helper
Merge branch 'working' of github.com:okennedy/worldtree
Merge branch 'okennedy' into working
Merge branch 'working' of github.com:okennedy/worldtree