Recipe generators

These changes add a little more magic to Recipe and allow us to eliminate the need for Sequence, and allow Recipe to accept iterators (and generators) as field values.

Advantages:

- no need for users to work with Sequence, they can use Python generators or iterators which are more familiar and more powerful.
- the "seq" function still works the same as it always has, and is a simple 2 line generator.
- all the original unit tests pass, and all new code is covered by new tests

Disadvantages:
- The Recipe _mapping function is more complicated.

This is my first pull request ever. If there are any problem please be patient. I'm open to any feedback you may have.