Fix FindVisitor to not start the visiting in the constructor

We used to call visitAny in the constructor, which lead to bad
API where we had to set things on this before calling super.
Add support for union type syntax
Default empty command line arguments to 'true'.
e.g. --require to result in --require=true.
respond to review