Add lshw parsing routine to swifttool

Originally I had planned on using the -json flag to lshw to get the
relevant data for the disks in our swift cluster.  However, that
functionality seems to be broken as it does not produce valid json
every time.

Therefore, write out own parsing routine, and instead of using fdisk
to get the disk's size, kill 2 birds with one stone and get it all from
a single call to lshw.