Support large bdevs on 32-bit; MB units by default.

Change all instances of "unsigned long" where referring to a bdev size to uint64_t;
    this fixes some overflows on 32-bit machines, where "unsigned long" is uint32_t.
Support all unit-sizes supported by LVM except 's' and 'e' [bkmgt].
Print a warning and use default bdev-size if invalid unit-size specified.