Make pyugrid truly optional

While documented as optional, the tests for pyugrid still run even if not installed. I mostly copied the setup from ESMF to make pyugrid optional as well.
Not entirely true, this bit : The proxy usage allows experimental.ugrid to be always be imported, even when pyugrid is missing.  It is the Sphinx documentation build that really _needs_ this, as that breaks if any project module can't be imported.
In fact, it actually makes it a bit trickier for the tests to detect that the module is missing.