The current code silently ignores characters after the unit as long
the unit themselves were recognized. This commit makes expand_number(3)
to fail with EINVAL if buf did not terminate after the unit character.
While I am there, also write a few test cases to validate the behavior.
MFC-after: 2 weeks