Refactored CfgOptimizer and CfgSubword in its own package:
  gluon.grammar.transform.
Renamed LexicalElement to Symbol.
Now the Cfg only returns copies of lists used in the internal structures.
Merge branch 'master' into parser-subword.

Conflicts:
	src/gluon/grammar/transform/CfgOptimizer.java
Implemented a grammar transformation to get rid of epsilon productions.

Thanks for the algorithm described in Introduction to theory of computation,
M. Sipser, 2ed, p109, for being the only reference I found which explicitly
mention one important implementation detail (never add an epsilon production
that was already removed).
Removed "no grammar optimization" flag.
Merge branch 'remove-epsilon-transf'.
Merge branch 'remove-opt-flag'.