solve: return all independent solutions.

`solve` will return all independent solutions instead of breaking out at the first solution found.

Attempts to fix issue 3645
http://code.google.com/p/sympy/issues/detail?id=3645