Add support for bidirectional limits (dir="real")

and fix Limit printing...

- [ ] do we need this at all? (we don't have specific algorithms for bidirectional limits yet)
- [ ] better name for dir value? (variants: "0", "both"); "real" is from the Maple, I think
ok. I missed the sympification of the arg. Would dir.name be better than str(dir)?