[WIP] Add Rubi

TODO

* [ ] Add more stuff from Rubi:
    * [x] at least `cos`, `sinh` and `cosh` rules
    * [ ] hopefully some rational expressions like `sqrt(x)/(x+1)`
* [ ] Add pattern matching, so that one can pass a SymPy expression and it will determine if it matches any of the functions like `intsin12`, so that the interface is just like `integrate`
* [ ] Integrate this into `integrate` as an optional method (by default turned off for now), so that people can easily start playing with that and use it when it works
* [ ] Refactor the `is_zero()` into `sympy.utilities.randtest.test_numerically`, per the [comment](https://github.com/sympy/sympy/pull/8036#issuecomment-55971979).
try to pass subs kwarg to evalf method instead