Merge pull request #2 from y-li/vg

vg
Merge pull request #3 from y-li/vg

fixes
Merge pull request #4 from y-li/vg

vg
some haskell
Merge pull request #5 from y-li/vg

unordered_map
some haskell
md5 for hash function
nothing...
Merge remote-tracking branch 'origin/master' into vg
bitset, random_device