Refactored the cgroups tests so that they can run in a multitude of environments. See each bullet below.
Refactored the cgroups tests so that they can run in a multitude of
environments. See each bullet below.

* Added new test fixtures:
  (1) CgroupsNoHierarchyTest for running tests where we need to create
      a hierarchy (and thus, most likely, no existing hierarchy can
      exist because it will already have the cpu and or memory
      subsystem attached).
  (2) CgroupsAnyHierarchyTest and subclasses
      CgroupsAnyHierarchyWithCpuMemoryTest and
      CgroupsAnyHierarchyWithCpuMemoryFreezerTest for running tests
      with any hierarchy provided it has necessary subsystems
      attached.

* Renamed cgroups (from "prof", "stu", etc. to "mesos_test") and
  removed nested cgroups by default. The rename was done because we
  might run tests inside of an existing hierarchy and we want to avoid
  name clashes. The nested cgroups were removed in favor of a test
  that explicitly tries to create nested cgroups (since some older
  kernels with particular subsystems attached have a hard time with
  this, and we'd like to detect that case explicitly).

* Created an explicit test for nested cgroups (see above).

* Updated the "write control" test to use a forked process rather than
  the test process (to be more conservative in the presence of errors)

* Updated the "listen event" (i.e., "oom") test to check for the
  proper control first (memory.oom_control).

* Updated the failure mechanism of forked (children) processes to use
  'abort' rather than 'ASSERT_*' and 'FAIL' in order to make test
  output more readable upon failures.

* Updated the notify mechanism from forked (children) processes to
  parent processes to correctly distinguish a closed pipe from a value
  written (to catch more instances of when the test is actually
  failing).

Review: https://reviews.apache.org/r/7622

git-svn-id: 03d7800a49d8905ef4fbcc296184319e19243493@1402689 13f79535-47bb-0310-9956-ffa450edef68

gsantovena/mesos,Gilbert88/mesos,jpeach/mesos,yuquanshan/customizedMesos,neilconway/mesos,abudnik/mesos,chhsia0/mesos,Gilbert88/mesos,gsantovena/mesos,Gilbert88/mesos,neilconway/mesos,yuquanshan/customizedMesos,jpeach/mesos,asamerh4/mesos,andschwa/mesos,abudnik/mesos,wickman/mesos,Gilbert88/mesos,neilconway/mesos,chhsia0/mesos,wickman/mesos,reneploetz/mesos,abudnik/mesos,jpeach/mesos,reneploetz/mesos,zmalik/mesos,asamerh4/mesos,enachb/mesos,chhsia0/mesos,zmalik/mesos,verizonlabs/mesos,Aman-Jain-14/customizedMesos,jpeach/mesos,reneploetz/mesos,neilconway/mesos,Gilbert88/mesos,craimbert/mesos,wickman/mesos,asamerh4/mesos,abudnik/mesos,dforsyth/mesos,verizonlabs/mesos,kaysoky/mesos,abudnik/mesos,craimbert/mesos,kaysoky/mesos,dforsyth/mesos,zmalik/mesos,Gilbert88/mesos,dforsyth/mesos,Aman-Jain-14/customizedMesos,andschwa/mesos,chhsia0/mesos,Aman-Jain-14/customizedMesos,craimbert/mesos,reneploetz/mesos,reneploetz/mesos,asamerh4/mesos,verizonlabs/mesos,wickman/mesos,zmalik/mesos,verizonlabs/mesos,wickman/mesos,craimbert/mesos,asamerh4/mesos,enachb/mesos,enachb/mesos,abudnik/mesos,yuquanshan/customizedMesos,Gilbert88/mesos,enachb/mesos,gsantovena/mesos,dforsyth/mesos,asamerh4/mesos,chhsia0/mesos,Aman-Jain-14/customizedMesos,kaysoky/mesos,jpeach/mesos,andschwa/mesos,andschwa/mesos,kaysoky/mesos,kaysoky/mesos,yuquanshan/customizedMesos,neilconway/mesos,yuquanshan/customizedMesos,enachb/mesos,wickman/mesos,andschwa/mesos,chhsia0/mesos,jpeach/mesos,verizonlabs/mesos,dforsyth/mesos,enachb/mesos,yuquanshan/customizedMesos,zmalik/mesos,Aman-Jain-14/customizedMesos,yuquanshan/customizedMesos,andschwa/mesos,jpeach/mesos,chhsia0/mesos,wickman/mesos,enachb/mesos,reneploetz/mesos,verizonlabs/mesos,gsantovena/mesos,zmalik/mesos,abudnik/mesos,neilconway/mesos,neilconway/mesos,andschwa/mesos,gsantovena/mesos,asamerh4/mesos,zmalik/mesos,Aman-Jain-14/customizedMesos,reneploetz/mesos,kaysoky/mesos,dforsyth/mesos,craimbert/mesos,craimbert/mesos,Aman-Jain-14/customizedMesos,dforsyth/mesos,kaysoky/mesos,gsantovena/mesos,verizonlabs/mesos,gsantovena/mesos,craimbert/mesos