Implement a Ruby version of ls(1) satisfying the given tests

Hello,
Here is a concise solution passing the given tests in 42 lines.

The output of `ls -l` is challenging and interesting, notably for mapping permissions to the textual representation, uid/gid to names and computing the padding of the size.

I used `-s` which "enables some switch parsing for switches after script name" to parse options and took the road of a Regexp to validate the options. Unfortunately `-s` cannot handle `-1` but this is not in the assignment, and not a needed feature anyway (one can always add `| cat` to achieve the same effect).