fix docstring.
make `load' look for and handle dynamic modules.

When libltdl is available a new ".so" suffix is added to the
`load-suffixes' variable.  The `load' function uses it and passes it to
openp() which does the actual search in `load-path'.

If the file found by openp() ends with ".so", then it is module and it
should be handled accordingly by calling `load-module'.

`require' calls `load' so nothing more is needed to make `require'
work.  Modules should now be able to call `provide' at the end of
their init() function.  `provide' runs eval-after-load code with no
additional work.

* Notes and potential problems

I have not payed too much attention to encoding problems: I only use
SDATA(filename).  Does it need an ENCODE() call?

`load' is quite messy: big function, lots of side effets and spaghetti
code.  I may have overlooked some things.

fix #3
fix #4