mount: Add a class which limits I/O

This class can be used to introduce an I/O limiting mechanism
in the mountpoint.
mount: Add a class parsing I/O limits config

Closes #140
mount: Add IO limit group classifier

Add a function which determines IO limiting group of a local process.
mount: Fix bugs in getIoLimitGroupId

This function was suffering from a couple of problems like
throwing wrong exceptions or taking arguments by value instead
of by a reference.
mount: Introduce I/O limiting mechanism

This change makes it possible to define I/O limits for processes
from different cgroups in one hierarchy (identified by a subsystem,
eg. blkio). For example this configuration:

  subsystem blkio
  limit /group1 1024
  limit /group2 30720

limits I/O generated by processes from /group1 to 1 MB/s and by processes
from /group2 to 30 MB/s. This throughput is defined as a sum of read and
write requests (on the interface between then kernel and mount).

To enable I/O limiting, mount the filesystem with mfsiolimits=<file> option
providing a path to a file with configuration of these limits.
mount: Add a possibility to use I/O limiting without cgroups

This commit introduces support for a special entry in the I/O limit config
file, ie:

  limit unclassified <some_limit>

If this is the only entry in the config file, it will be used as a limit for
all processes. If there is also a subsystem and some limits for cgroups
specicifed, it will be used as a limit for processes from cgroups which are
not present in the configuration.
tests: Add a simple test of I/O limits
tests: Improve assertion failure messages

Consider the following test:

  a=500
  b=90
  expect_less_or_equal $a $b

This code produced the following, not very user-friendly error:

  FAILURE [2014-02-14 13:04:17] Expected: '500' <= '90'

This commit introduces more descriptive messages, ie:

  FAILURE [2014-02-14 13:04:47] Assertion 'expect_less_or_equal $a $b' failed
  Expected: '500' <= '90'
  Location: test_assert.sh:3

If the custom message is used, eg:

  MESSAGE="Checking simple arithmetics" expect_less_or_equal $a $b

the error message will look like this:

  FAILURE [2014-02-14 13:04:47] Checking simple arithmetics: Assertion 'expect_less_or_equal $a $b' failed
  Expected: '500' <= '90'
  Location: test_assert.sh:3
Merge branch io_limiting into master

Conflicts:
	tests/tools/assert.sh