Fix handling of space and inode values

Commit 0214512479e0 (Properly handle signed space and inode values)
broke parsing of pure numbers in str2number() so that it would always
complain about "Integer overflow while interpreting decimal unit". Fix
condition checking for overflow.

Also number2str() was buggy and wouldn't guess proper units for negative
numbers.

Signed-off-by: Jan Kara <jack@suse.cz>