blockdev: don't use HDIO_GETGEO

blockdev was still using this depreciated ioctl and that was
causing blockdev --report to fail on loop and nbd devices.
Switch to reading the partition start from sysfs instead.
This also allows it to correctly report > 2^32 sector counts.

[kzak@redhat.com: - check sysfs_init() return,
                  - use uint64_t rather than unsigned long long]

Signed-off-by: Phillip Susi <psusi@ubuntu.com>
Signed-off-by: Karel Zak <kzak@redhat.com>