[WIP] Rewriting the Univariate Solver

This PR aims to rewrite a cleaner and robust univariate equation solver.
- [ ] Univariate
    - [x] polynomial
    - [x] rational
    - [ ] trigonometric
    - [ ] functions with exp and log
- [ ] Multivariate
On Sat, Aug 09, 2014 at 07:53:57AM -0700, Matthew Rocklin wrote:
>    [1]@skirpichev would assume take a set of new assumptions like
>    assume=Q.real(x)?

Yes.

>    Perhaps we just drop adding extra assumption information
>    alltogether and let users deal with complex results?

We can't "just drop" this, as e.g. we have different solve subroutines
to deal with real vs complex...  The only question is how to input
this information to solveset.