This is cleanup that will aid us when we get ziploader implemented for 2.1
* moved common code to an module_util snippet * rewrote logic to make each module idempotent * added new capabilities like the write_config option