Improve handling of errors for tasks that couldn't be added to a cgroup

- If moving fails for a real-time task on kernel without
  CONFIG_RT_GROUP_SCHED, print the warning only once; make the warning
  more verbose.

- Do not warn if kernel process cannot be moved into a cgroup;
  kernel processes have euid=0, gid=0 and vm_size=0. Block such
  processes from future shceduler run.

- But print warning (only once) if such kernel task has been already
  moved before. And do not block it from scheduling.

- Include more information about task/process in the message.
Stop moving cgroup release agents to isolation group iso_ulatency

Ulatencyd release agent cannot be moved to the cgroup at least on
following versions of Linux kernel:

- Linux kernel 3.2  : prevents moving inside cpuset subsystem
- Linux kernel 3.12 : prevents moving inside any subsystem

This is OK as long as every release agents initial cgroups are all /.
If process is blocked from scheduling, print the reason
Fix default isolation cgroup name to iso_<PID> (was <PID>)
Fix retval in documentation for ulatency.get_pid() and get_tid()
Add more logging to CGroup.create_isolation_group()
Fix get_oom_killer()
Minor fix in U_PROC:set_ioprio() documentation
lua sysfs_write(): report error if path cannot be accessed
lua mkdirp() - Add `quiet` parameter; if true then do not log errors
Fix CGroup.new() to define all temporary variables as local
Improve CGroup:get_value(...)

- Use local variables
- Carefully test for errors
- Add `raw_format` parameter to specify file:read(...) format
- Change default file:read(...) format from "*a" to "*l" so we don't
  need to call string.rtrim()
- Return nil if no data could be read with specified `raw_format`
- Return nil, errstr, errno on error
- Add doxygen doc
Improve CGroup:commit()

- Test for errors more carefully
- Add `quiet` parameter - if true the do not log any errors
- Return true on success; nil, errstr, errno on error
Detect valid range of values of cgroup parameters; fixes issue #36

Values of cgroup parameters, which range has been detected, are
recalculated in the mappings rules when the scheduler configuration
is loaded. Additionally, such parameters may have special value
"MIN" or "MAX".

Currently are detected and recalculated these parameters:
blkio.weight, bfqio.weight and cpu.shares.

They are detected in bootstrap.lua, after all cgroup subsystems
loaded. If detection fails for a parameter of loaded subsystem,
ulatencyd will die. This may be changed in bootstrap.lua; in such
case, parameters which range couldn't be detected, will be omitted
from the rules.
ulatency client - Display `cpu.rt_runtime_us` values in tree.
Rework logging from lua to lower overhead it's causing

- Add ulatency.LOG_LEVEL: export log level from C core
- Rename ulatency.log() to ulatency._log()
- Rewrite ulatency.log() in LUA
	+ Accepts vararg for string.format()
	+ Do nothing if ulatency.LOG_LEVEL is lower than message level
- Add global shortcuts e_error(...), u_warning(...), etc.
- Add global boolean variables LOG_ERROR, LOG_WARNING, etc., which
  are true if corresponding log level is enabled.

- In loops and other critical places do not log messages if current
  log level is lower than the level of message which should be logged.
Fix poison groups in scheduler mapping a bit

- fix to use local `bytes` variable
- fix cgroup:set_value() parameters
- fix soft_limit value reported to log
Add src/lua directory to doxygen INPUT option