Added new syntax for `for`and `with`, removed foreach.

List of changes.
* Removed foreach in favor for `for*`, thus we got consistency in naming (`for`/`for*` & `with`/`with*`)
* Added new syntax too `for` `with` so we can nest. Also keeps consistency with the syntax from `let`& co.
* Changed the api docs to reflect the above changes
* Changed all affected tests to reflect this.
* Added `with.hy`in `tests/native_tests`

TL;DR:
I fucked over `foreach` and `for`.