Tool Labs: major cleanup of classes and roles

As part of the groundwork towards gridengine puppetization, this
cleans up and splits roles according to proper function so that
they can start including queue and hostgroup configuration, as
well as have tunable node config.

Major changes:

role::labs::tools::{execnode,webnode,tomcatnode} are made obsolete
in favor of role::labs::tools::compute followed by one or more of
toollabs::node::* specific roles that manage queues et. al.

The $gridmaster paramemer has been removed from the toollabs roles
in favor of explicitly including the gridengine class from
role::labs::tools::common; in practice this might add gridengine
base class to a very few instances that didn't strictly need it
previously; but it's harmless because it does not include submit
or execution roles.

Some toollabs classes have been refactored to reduce code
duplication.

Change-Id: Ib75c18f75a8b8048fb9900e7f74accabb13d1f96
Merge "Tool Labs: major cleanup of classes and roles" into production