Completely rip apart the logic for deciding how to write out hosts.  This fixes several issues.
Completely rip apart the logic for deciding how to write out hosts.  This fixes several issues.

Nodes that are not in an environment will still get written out the OS host groups correctly
Nodes that have no roles will get written out to the OS / environment host groups correctly
Nodes without a role, but present in the non-alerting environments attribute will still have notifications disabled


Former-commit-id: f896b5bcfa1f0a559c3ceb97e574b3b5168c102f [formerly 79d05e270cc5cb31ef18a156a087b69e4f135165] [formerly 0722938fec0696ec91a3935e2dd8337825d3f269 [formerly 2436cc6b3dfc1ce3c831970fb342dece637fbe4c [formerly d067ded90799b8424da347fa9a77e28e879be15c]]]
Former-commit-id: f30e3970f0a7a6dfe86bad995ec10721395d79c9 [formerly b9ca35e6188b1a72f5fbd22c7a06d9a7fa4a073d]
Former-commit-id: 7423b80a8ad9e43aa3477e81b81841c9c8b9f9c3
Former-commit-id: 084392ac9b2745f0ee57925a7b4f3e2868c621e9
scottymarshall/rundeck,scottymarshall/rundeck,nilroy/rundeck,nilroy/rundeck,scottymarshall/rundeck,Webtrends/rundeck,nilroy/rundeck,Webtrends/rundeck,Webtrends/rundeck