MONDRIAN-1061 - java.lang.StackOverflowError resulting from recursive calculated member usage within virtual cube

Fixed tail recursion with registering visited members for visitor implementation for discovering calculated members.
Please review.
Junits added with modified (simplified) foodmart schema.