Cleaned up environments and the driver

Cleaned up duplicate entries of environment args. All args are now
handled in a consistent manner and are no longer duplicated in various
places.

While cleaning up the driver code I was able to determine why crossover
wasn't working and fixed it!