Re-work some things to all for code-reuse across Simutronics games

* Create "base_simutronics_script.rb"
* Move retry logic for DR/GS into "base_simutronics_script"
* Create "base_gemstone_script.rb"
* Add Gemstone specific helpers to "base_gemstone_script"
* Update "gemstone" scripts to extend "base_gemstone_script"
* Monkey-patch "require" in test mode to handle cases where a module has
  already been loaded (this is only required in the test environment)
* Misc. clean-up
* Update TODO(s)