iterators now return tyIter(T);

tyIter(T) represents an "iteration yielding values of type T"

I'm planning to use that in the context of the `is` operator
supporting predicates such as `C.items is iterator` and also
in the upcoming support for higher-order inline iterators.
split the inline and closure iterators into different symbol kinds for easier discrimination between them
test cases for the new handling of iterators by the `is` operator
fix #587
Merge branch 'devel' of github.com:Araq/Nimrod into devel