* Add default_role for Sphinx.
Fix a bunch of broken refs along the way, which become
errors now via -W if you have default_role set.
In theory you can catch those via sphinx-build -n (i.e.
nitpick mode), which IMHO is a decent idea anyhow, but it's
a longer diff to enable that because it'd involve fixing a
bunch of the places that try to reference types that don't
exist (e.g. :type foo: Any value). But obviously can be done.
Also didn't actually use this anywhere yet (the any role),
but will do so in a follow-up if this is acceptable.
* Remove the roles from builtin objects to demo any.
* Style.
* Add z.i to intersphinx.
Enables the link to z.i.Interface.
* Enable nitpick mode.
Fix the remaining broken links or whitelist them via nitpick_ignore.
* Kill all :func:s.
* Kill all :class:es.
* Kill all :doc:s.
* Kill all :ref:s.
Except one, that probably meant :func:, and which
is a duplicate ref.
* Kill :exc: and :data:.
* Kill :mod:s.
* Kill new explicit refs from the merge.
Previously:
```pycon
>>> import attr
>>> @attr.s(str=True, slots=True)
... class A(object):
... a = attr.ib()
...
>>> a = A(1)
>>> str(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unbound method repr_() must be called with A instance as first argument (got nothing instead)
```
Fixes#198.
* Restore hash to validators.
* Restore Attribute.default and Attribute.validator.
* _AndValidator is hashable now. Test validator hashability.
* Add in_ to validators.__all__.