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.

    BigDecimal resultDecimal = (new BigDecimal(units.bytes)).multiply(new BigDecimal(numberString));

??