Add Vital.OptionParser

Vim のコマンド用のオプションパーサを書きました．Issue #11
Ruby の `optparse` を参考にしています．

```vim
" new() でインスタンスをつくる
let s:V = vital#of('vital')
let s:O = s:V.import('OptionParser')
let s:parser = s:O.new()

" on() でパースするオプションを定義
call s:parser.on('--hoge=VALUE', 'description of hoge, must have value')
call s:parser.on('--foo', 'description of foo')
" definitions can chain
call s:parser.on('--[no-]bar', 'description of bar, contradictable')
         \.on('--baz', '-b', 'description of baz, has short option')

" パースする．<q-args> や <q-bang>，<count> など，使うアトリビュートが決まっている．
command! -nargs=* -count -bang Hoge echo s:parser.parse(<q-args>, <count>, <q-bang>)

" 実行すると parse() がオプションをパースしてパース結果を辞書として返す
Hoge! --hoge=huga --no-bar poyo -b
" => {
"      '__count__' : 0,
"      '__bang__' : '!',
"      'hoge' : 'huga',
"      'bar' : 0,
"      'baz' : 1,
"      '__unknown_args__' : ['poyo'],
"    }

" オプションヘルプを表示する --help が自動で定義される
Hoge --help
" echo following message
"   Options:
"     --hoge=VALUE : description of hoge, must have value
"     --foo        : description of foo
"     --[no-]bar   : description of bar, contradictable
"     --baz, -b    : description of baz, has short option
"
" => {
"      '__count__' : 0,
"      'help' : 1,
"    }
```

問題なければ，是非 vital.vim に追加してほしいです．