trac #9744, make program name and product version configurable through…

Authored by luite.

Description

trac Trac #9744, make program name and product version configurable through DynFlags/Settings

Summary:

This allows GHC API clients to use a package database and dynamic
library names that do not clash with those of the host GHC

This also updates the Haddock submodule.

Reviewers: hvr, austin

Reviewed By: austin

Subscribers: thomie, carter

Differential Revision: https://phabricator.haskell.org/D496