Always returning a short character in short_from

The function short_from(name) give a character to use as a short option form.
There was a bug is all the characters were already used: the function would
then return the full name.

So for instance, in
    options = Parser.new do |p|
      p.option :a, "a"
      p.option :b, "b"
      p.option :ab, "ab"
    end.process!
short_from("ab") would return "ab", which mean that the call to OptParse would
look like
    p.on("-ab", "--ab", "ab")...
This create an option --ab whose short form is -a and which needs a
mandatory argument b
(and passing --help give something like
-a --abb ab
because we ask for a mandatory argument b)

This commit changes short_from to return the first letter if all are taken.
In this case, the call to OptParse is
    p.on("-a", "--ab", "ab")...
which means that the previous short form -a for --a is overrided but has no
other ill-effects.

Note: in opt parse, the last defined short form win, except that p.on have
more priority. In particular, if both '-v' and '-V' short form are taken,
then the call to
      short = @used_short.include?("v") ? "-V" : "-v"
      p.on_tail(short, "--version", "Print version")
in microoptparse will not override these switch for the --version option
which is what we want.
Merge pull request #7 from DamienRobert/shortoptions

Always returning a short character in short_from
write tests for pull request
write tests for parsing of list arguments
Improve readability of @default_values
Add :optional setting to prevent output of default value when argument was not given
Add example calls and results to README
Improve linebreak
Use simplified Parser for README examples and showcase :optional setting
Add FAQ for optional arguments
Rewrite central part of #process! to improve readability
Use hash instead of positional arguments to improve readability
Add support for default settings, which are applied on every argument
Add setting to prevent creation of short accessors
Extend README to document new :no_short setting
Add ruby syntax highlighting
Document changes between versions by starting CHANGES.md
Adjust description for rubygems and ruby toolbox
Bump version