get_name() changes to handle class property case

The get_name() code resulted in a RuntimeError (due to deep recursion), if the passed frame referred to a class property. The main fix was to not use getattr(), since that resulted in executing the property get code. This pull request contains the updated get_name() as well as two new test cases.