fix and improve libprocps detection
core.lua mkdirp(): Return 0 on success and nil, errstr, errno on failure
core.lua: Detect if a subsystem is available but disabled in the Linux kernel

Detection is being done by simple parsing "enabled" column from /proc/groups.

ulatency.has_cgroup_subsystem()
now returns true, false or nil whether the subsystem is available,
disabled in Linux kernel or not available at all.
core.lua: fix is_mounted() sometimes didn't find the mount point

Could fail if ulatencyd private hierarchies were mounted.
core.lua: Improve setup of cgroups hierarchies, should fix issue #45

- Reuse or create symbolic links if hierarchy is mounted under
  unexpected mount point.

- Handle multiple subsystems in a single hierarchy.

  = If multiple subsystems, which ulatencyd uses, share the same
    hierarchy disable all but the first subsystem.

- Revert changes if mounting of private hierarchy fails.
- Handle more errors and non-standard situations.
- More verbose yet uncluttered log messages.