move haddock library to a separate haddock-api package

This patch moves the haddock library to `haddock-api` and adds a new `haddock` package with just the executable in the `haddock-executable` subdir.

I added a `build-executable` flag (manual) so it's still possible to get the executable with the `haddock-api` package, for testing.

I also exported a few more functions from `Documentation.Haddock`, required to build `haddock-ghcjs`


I'm still not sure whether we should re-export `Documentation.Haddock`.  From a users point of view I don't want to get the executable if I install some package that depends on the `haddock-api`.  So I'm puzzled whether from a users point of view it's desirable to force package authors to depends on `haddock-api` instead of `haddock` if they want to use Haddock as a library.

(read: I think we should remove the `library` section)

If we want to keep the `library` section, we should add `exposed: False` to avoid name clashes.