SlavePool: parallel pool machine checks

This patch implements parallel pool machine availability checking.
Availability is checked by creating a nonblocking TCP socket and
connecting to the slave. This way we can connect to all the slaves at
once instead of one-by-one.

This patch also introduces proper support for multiple pool directories.
Until now all slaves were put in a single pool, this could cause name
conflicts and network label conflicts, leading to confusion for users.
From now we clearly separate individual directories and machines from
two different pool directories can't be present in a single match.

Signed-off-by: Ondrej Lichtner <olichtne@redhat.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>