Delete params from a config object

This PR allows configuration values to be deleted. This can be useful if you want to set a configuration value for a little while, and then set it back to its original value.

```python
with nengo.Network() as model:
    model.config[nengo.Ensemble].radius = 3
    a = nengo.Ensemble(100, 1)  # has a radius of 3
    del model.config[nengo.Ensemble].radius
    b = nengo.Ensemble(100, 1)  # has a radius of 1
```

The second commit allows you to do the same thing but by setting the parameter to `nengo.Default`, for example `model.config[nengo.Ensemble].radius = nengo.Default`. This is what @jgosmann seemed to find intuitive in #465. We can debate whether this is a good idea or not, but I don't see the harm in having it.

The last commit makes the ClassParams and InstanceParams strings more clearly representative of the class, so that if you just call `print` it's clear that you're printing a class. This seemed better to me, while still being easy enough to read, but maybe we don't want this.