Add Data.Set module

python の 2.7 のset ライブラリと 3.4 の仕様(と少しソースコード)を参考に vitalに移植してみました

- ref: https://docs.python.org/3.4/library/stdtypes.html#set-types-set-frozenset

#### TODO
- [ ] https://github.com/vim-jp/vital.vim/pull/239#discussion_r21423877
- [ ] https://github.com/vim-jp/vital.vim/pull/239#discussion-diff-21424330
例外が飛ぶのわかっているなら専用の例外を用意した方が良さそうです。
そうすることで意図した例外なのかバグによる例外なのか区別できます。