Use command line options as template for on-the-fly graph building.

Propagate parameters down to the on the fly graph builder.
This is a hybrid clone / deep copy constructor. Java's clone interface is widely considered broken and unusable (cf http://www.artima.com/intv/bloch13.html) but we still make use of it (on search state for example) where it's really clear that we want a field-by-field shallow copy of a big object and maintenance of an explicit copy constructor would be a burden. Here, a deep copy constructor is in order.