libfdisk: rewrite freespace code

 * use separate function to get free space
 * allow to use label-specific get_freespace() function
   (this is necessary for MBR extended partitions mess)

Signed-off-by: Karel Zak <kzak@redhat.com>
lib/strutils: use proper return codes in parse_size()

Signed-off-by: Karel Zak <kzak@redhat.com>