Made iters.flatten flatten nested iterables of any kind, not just lists

First off, thank you for fn.py.

I feel like I've implemented flatten() or something like it on several projects. I thought I would  contribute a version that doesn't require the input to be nested lists, but nested iterables of any sort (not including strings).

I kept the original tests and added some for the additional behavior. I also changed the docstring to match the new behavior.

I've tried to match my contribution to the existing style, but just let me know if I've missed anything.