genlib.fifo: fix docstring section syntax
fhdl.structure: document the API
doc/conf.py: no modindex, no numpydoc warnings

* do not generate boring modindex for html and latex outputs
* numpydoc_show_class_members=False, to skip undocumented methods
  https://github.com/phn/pytpm/issues/3#issuecomment-12133978
doc/api, index: add fhdl.structure, add index/search

genindex is needed to generate links between members and search is
useful for the html docs.
sim: use Simulator as a contextmanager

__del__ garbage collector callbacks are too delicate.  E.g. imported
modules can be garbage collected before the objects using them. Can't
use os.remove, socket.SHUT_RDWR...

* added a DerecationWarning if a Simulator is garbage collected without
having its .close() called
* renamed all gc __del__ callbacks to close()
* implemented context manager hooks for Simulator. Use like

   with Simulator(TestBench()) as s:
       s.run()
migen/test: start unittests
test/test_fifo, genlib/fifo: move test to unittest
genlib/coding, test/test_coding: unittests
genlib/coding: add docstrings, add it to api doc