Add functions for the hypergeometric distribution

- add support
- add mode, skewness, kurtosis
- add tests
`[x y]` returns a 2x1 matrix, you should use `[x, y]` which will return a vector.