Change: Specify 'Unsupported' for dmidecode strings on rhel4

Ref: https://dev.cfengine.com/issues/630

Old versions of dmidecode do not provide a good way of extracting
strings.
Move reading of cf-consumer.pid to def.cf and guard it by enterprise and hub classes.

Redmine: 6303

This is necessary because class guards do not protect function evaluation when calling methods.

eg.

bundle1
  methods:
  class1::
   usebundle => bundle2;

bundle2
  methods:
  # class1 needs to be used here as well
  # Otherwise cf-promises will try to read the file
  # In our case, this file doesn't exist in client nodes
  class1::
    "data" string => readfile(...);
Skip package tests on Redhat 4.

RPM on Redhat 4 has a bug which corrupts the RPM database when we do
our tests. The cause is unknown, but it is suspected to have something
to do with the fact that we switch out the official repository with a
custom one. Either way, it renders package promises untestable on that
platform.
Merge pull request #286 from awsiv/redmine_6303-2

Guard reading of cf-consumer.pid using `readfile()` by enterprise and hub classes
Merge pull request #289 from nickanderson/redmine-6302

Change: Specify 'Unsupported' for dmidecode strings on rhel4
Ignore masterfiles/test-driver

It's created by something during builds, probably thanks to
@kacfengine's recent changes to use autotools.
Merge pull request #291 from ediosyncratic/ignore-test-driver

Ignore masterfiles/test-driver
sort inventory ports listening for more usable reporting
Cleanup: Avoid code duplication for access rules regarding report query types.

Note: If a host can query for delta, it must be able to query for rebase.. not sure if keeping this separate makes sense any longer
Merge pull request #280 from awsiv/cleanup_server_report_access

Cleanup: Avoid code duplication for access rules regarding report query types