List comprehensions && let() expression

This a consolidated pull request composed of #774 and #775.
Please use this to discuss work needed to accept into master and issue updates as pull requests to this branch (https://github.com/openscad/openscad/tree/list-comprehensions).

TODO:
- [ ] Final validation of syntax and semantics
- [ ] let() test cases
- [ ] list comprehension test cases
- [ ] wikibooks documentation
- [ ] cheat sheet
- [ ] add one or more examples demoing this