Move VerifyBalanced method to a more common test location.

This will hopefully allow us to use it for other AVL-based collection types.
Fix test bug that caused failures for balanced trees.

The formula by which the maximum allowable tree height was calculated was faulty, causing some balanced trees to be reported as being too tall. The new formula comes from http://en.wikipedia.org/wiki/AVL_tree and seems to succeed reliably.

I've also moved the height verification to another class so that we can reuse it across other AVL-tree based collections.