Fix segfault when repr() with pybind11 type with metaclass (#571)

* Fixed a regression that was introduced in the PyPy patch: use ht_qualname_meta instead of ht_qualname to fix PyHeapTypeObject->ht_qualname field.

* Added a qualname/repr test that works in both Python 3.3+ and previous versions
diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h
index 84b60af..9caf35e 100644
--- a/include/pybind11/pybind11.h
+++ b/include/pybind11/pybind11.h
@@ -701,7 +701,7 @@
 
 #if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 3
             /* Qualified names for Python >= 3.3 */
-            type->ht_qualname = ht_qualname.release().ptr();
+            type->ht_qualname = ht_qualname_meta.release().ptr();
 #endif
             type->ht_type.tp_name = strdup(meta_name_.c_str());
             type->ht_type.tp_base = &PyType_Type;
diff --git a/tests/test_python_types.py b/tests/test_python_types.py
index 347abaa..cb28e1f 100644
--- a/tests/test_python_types.py
+++ b/tests/test_python_types.py
@@ -3,6 +3,12 @@
 from pybind11_tests import ExamplePythonTypes, ConstructorStats, has_optional, has_exp_optional
 
 
+def test_repr():
+    # In Python 3.3+, repr() accesses __qualname__
+    assert "ExamplePythonTypes__Meta" in repr(type(ExamplePythonTypes))
+    assert "ExamplePythonTypes" in repr(ExamplePythonTypes)
+
+
 def test_static():
     ExamplePythonTypes.value = 15
     assert ExamplePythonTypes.value == 15