Repository: intake/intake

Issue:
Better repr for user parameters
Currently user parameters render like: 

```python
[<intake.catalog.local.UserParameter at 0x7f7072960d90>,
 <intake.catalog.local.UserParameter at 0x7f70723c7e80>]
```

It'd be nice if they were a dict, but if that is too hard, at least the repr for the object should contain the name.

Discussion:

Patch:
diff --git a/intake/catalog/local.py b/intake/catalog/local.py
index 7525886..4ed102f 100644
--- a/intake/catalog/local.py
+++ b/intake/catalog/local.py
@@ -79,14 +79,10 @@ class UserParameter(DictSerialiseMixin):
             self.allowed = [coerce(self.type, item)
                             for item in self.allowed]
 
-    def __str__(self):
-        return ('UserParameter(name={self.name!r}, '
-                'description={self.description!r}, '
-                'type={self.type!r}, '
-                'default={self.default!r}, '
-                'min={self.min!r}, '
-                'max={self.max!r}, '
-                'allowed={self.allowed!r})'.format(self=self))
+    def __repr__(self):
+        return (f'<{self.__class__.__name__} {self.name!r}>')
+
+    __str__ = __repr__
 
     def describe(self):
         """Information about this parameter"""


Test patch:
diff --git a/intake/catalog/tests/test_local.py b/intake/catalog/tests/test_local.py
index bcc1ea4..f2cac40 100644
--- a/intake/catalog/tests/test_local.py
+++ b/intake/catalog/tests/test_local.py
@@ -156,11 +156,10 @@ def test_user_parameter_default_value(dtype, expected):
     assert p.validate(None) == expected
 
 
-def test_user_parameter_str_method():
+def test_user_parameter_repr():
     p = local.UserParameter('a', 'a desc', 'str')
-    expected = ("UserParameter(name='a', description='a desc', type='str', "
-                "default='', min=None, max=None, allowed=None)")
-    assert str(p) == expected
+    expected = "<UserParameter 'a'>"
+    assert repr(p) == str(p) == expected
 
 
 @pytest.mark.parametrize("dtype,given,expected", [