solve: return all independent solutions.

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