Currently, nvme-cli will not compile on 32-bit platforms, as uint128_t
is not available.
This change, based on suggestions from Daniel Wagner <dwagner@suse.de>,
adds our own nvme_uint128_t type, which needs a custom to_string()
function.
In order to make the latter straightforward, we use four 32-bit words
for the internal representation of the 128-bit type. We then use 64-bit
arithmetic to avoid having to handle the carry-bit explicitly.
Also, add a small test case for the printing.
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>