Fixes issue8666 solvers
both lhs and rhs should be checked in solve
Merge pull request #8684 from aktech/issue8666

Solve returns correct solution for Equations where denominator becomes 0 (fixes #8666)
solve modifications

o use a name with Dummys where it is likely the results will be seen
o add 'incomplete' keyword so one must explicitly set it to get less than
  all polynomial solutions (e.g. the equation in issue 6644 unrads to a
  6th order polynomial in q but only 2 solutions are obtained)
o moved rewriting of hyperbolics to before the unrad attempt
o the general unrad-ing can be skipped in favor of specific unrad-ing;
  this will mostly be useful as a communicating keyword while unrad is
  in progress
o watch for NotImplementedError in the call to _solve when unrad is not done
o call to cubic_roots and quartic_roots before failing since these can
  handle multivariate polynomials.
o don't check polynomial solutions unless a change of variables was
  involved
solveset: dispatch to radical solving; simplify inversion code
edit public docstring
8692: watch for TypeError during checking of candidates
delay collection of dens until needed during check
use real_root in checksol
real_root handles any negative arg in an odd radical
quick