BUG : don't use super(self.__class__, self)

It breaks behavior in derived classes by triggering infinite look-up
loops.  See:
http://stackoverflow.com/questions/18208683/when-calling-super-in-a-derived-class-can-i-pass-in-self-class

closes #3493