Fix block_pools to handle thinpool LVs

Instead of always reporting the free size of the VG, which will be
wrong if our pool is a thinpool in the VG, if it's a thinpool, try
to calculate how much of it is free by looking at the data_percent
and metadata_percent properties. This isn't quite the format we need
to return, so some munging is involved to come up with an approx. answer.

Signed-off-by: Andy Grover <agrover@redhat.com>
Fix block volumes() to handle multiple thinpools and thinpool/vg

Only print normal LVs if pool is a VG.

If pool is a thinpool, only print thin LVs that belong to that thinpool.

Signed-off-by: Andy Grover <agrover@redhat.com>
Disallow both a VG and a thinpool in that VG to be declared as pools

Yeesh, it just seems like a bad idea. Two VGs are ok, and even two
thinpools within a single VG are ok!

Signed-off-by: Andy Grover <agrover@redhat.com>
Remove msg member from TargetdError

Inherited exception already does this for us.

Signed-off-by: Andy Grover <agrover@redhat.com>