cleanup PyVariant and corrected use of __bool__(), so added isValid()