strongly type attributes
make attributes unique per ASTNode instance
fix more bugs
fix code review comment
fix whitespace
fix Key.toString
improved the algorithm that compiles rules for fast rewriting
minor refactoring
improved indexing algorithm by only traversing the subject term to retrieve indexing pairs when the cell structure has been modified in previous rewrite step
fixed failing tests
use TypeToken instead of TypeLiteral because it eases serialization
change cell label representation to class in the Java backend
Merge pull request #890 from dwightguth/metadata

strongly type attributes
improvements on ktest reporting:

* "Running ..." logs are printed just before starting running a process, instead of printing all of them at once while registering to process pool.
* "Running ..." logs are also printed for kompile and pdf steps.
fix output redirections printed by --dry command
minor refactoring
marked Term#hashCode to be transient
made UninterpretedConstraint immutable
Merge pull request #901 from yilongli/reduce-indexing-time

Reduce indexing time
fixed NPE