Check that we have big enough free space for the partition request

Related: rhbz#978266
Work with free region sizes instead of parted.Geometry objects

Related: rhbz#978266
Make sure autopart requests fit in somewhere (#978266)

When doing LVM/BTRFS autopart we implicitly schedule one partition on each disk
as a device for LVM/BTRFS. Those implicitly scheduled partitions are requested
to be at least 500 MiB big and grow if possible. That's fine and works well
until we have many small disks (e.g. DASDs) and need to fit another partition
(for e.g. swap) that is in combination with the 500MiB implicit partition bigger
than any disk we have.

Thus we need to make sure all our partition requests fit somewhere with the
implicitly scheduled partitions by making the latter ones smaller or by removing
them if needed.