Made WaterFlow multi-threaded

Made FlowWorker threads do the work. Also made a couple of optimizations by calculating percent saturations and hydraulic heads only one time