Refactor implementation of ParseUlimit function
Refactor implementation of ParseUlimit function

Two problems exist in old code:
- The condition in statement `if len(limitVals) > 2` never evaluates to
  true, because of `strings.SplitN(s, sep string, n int)` will return at
  most n substrings when n > 0.
- Error `err` is ignored in parsing hard limitation value. Thus we may
  get inaccurate error message when invalid hard limitation value
  encountered.

Signed-off-by: Kezhu Wang <42f783796d9ffebe59bf1446d2f3a855ea1c09ab@gmail.com>

docker/go-units