Fix for rsolve bug (#2943)

http://code.google.com/p/sympy/issues/detail?id=2943

Correct solutions:
```
>>> f,n,a,b = Function('f'), Symbol('n',integer=True), Symbol('a'),Symbol('b')
>>> print(rsolve(Eq(f(n + 1), a*f(n)), f(n)))
C0*a**n
>>> print(rsolve(a*f(n-1)-b**2*f(n-2)-f(n), f(n), {2:a**2-b**2, 1:a}))
(a/2 - sqrt(a**2 - 4*b**2)/2)**n*(2*a - (a + sqrt(a**2 - 4*b**2))**2/(2*sqrt(a**2 - 4*b**2)))/(a - sqrt(a**2 - 4*b**2)) + (a/2 + sqrt(a**2 - 4*b**2)/2)**n*(a + sqrt(a**2 - 4*b**2))/(2*sqrt(a**2 - 4*b**2))
```