WIP: Formal Power Series

Formal power series implementation using lazy recursion.
I don't think we can subclass here from the Basic without breaking of the `all(isinstance(a,Basic) for a in self.args)` invariant.  Perhaps, you can move FPS stuff to the polys module, out of Basic-derived classes.  There is some FPS-related work in ring_series.py.

@asmeurer, can you suggest something here?

Another variant - we can represent FPS with `f(k)` expr for `k`-th term.