Throw an exception if size-in-bytes values are out of Long range

Fixes #170 

Discussion on #160 suggests that we may want to only print to stderr or something (and clamp the value to Long.MAX_VALUE) rather than throwing an exception.... not sure how I feel about that.

    result = units.bytes.multiply(new BigInteger(numberString))

Or?