Move reading of cf-consumer.pid to def.cf and guard it by enterprise and hub classes

This is necessary because class guards do not protect function evaluation when calling methods.

eg.

```
body common control
{
 bundlesequence => {"method1"};
 inputs => { "/var/cfengine/inputs/lib/3.6/stdlib.cf" };
}

bundle common def
{
 classes:
    "class1" expression => "policy_server.enterprise.!cfengine_3_5";
}

bundle agent method1
{
 methods:
  # This class guard is not retained while executing method2
  class1::
    "hub" usebundle => method2;
}

bundle agent method2
{
  vars:
# uncommenting this will show expected behavior
# class1::
    "data1" string => readfile("/tmp/non/existant", 0);
    "data2" string => readfile("/tmp/test", 0);

  classes:
   class1::
    "data_correct" expression => isvariable("data2");

  reports:
    data_correct::
    "data = $(data2)";
}

```

Check with:  `cf-promises -I`

Yup.. Adding it now.. I'm also thinking of moving it back to `cfe_internal_postgresql_maintenance` which is the only place its being used