Fixes and supplements for collection macros

I'm a fan of the Mike Ash collection macros so I was thrilled to find out BlocksKit already includes them.

However, there are some issues and missing features. This pull requests fixes these and adds tests to ensure they keep working.

[MACollectionUtilities](https://github.com/mikeash/MACollectionUtilities) uses the `EACH` macro for something different than BlocksKit. It is used for folding another collection into the iteration. (See the attached test cases for an example.) Due to the existing `each` method name, it might be good to keep `EACH` the way it is. The most fitting alternative name I've come up with is `NEXT`. Alternatively, for compatibility with MACollectionUtilities, the existing EACH macro could be dropped to free the name. Since it didn't work prior to this PR, it would not break any existing usage. It is probably the least important macro, since fast enumeration already handles this case quite conveniently.

Looking forward to feedback.