Split the for with range PSI nodes into two: with and without var declarations.
Fixed resolving of identifiers in the range expressions to not look in the vars declared by a for range clause (Closes #391).
Fixed smart enter completion to also work when the caret is in the front of the statements.
Updated tests to match the proper for range semantics.