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.
This isn't the right code style standard. Mondrian has it's own standard. With your changes in your workspace (in Git index), try running this and fix all of the errors:

    ./bin/checkFile.sh --opened