Merge.hs: fix wrong dependency generation for shared depends

An example was incorrect hakyll depends generation.

Hakyll contains this kind of depends:

  If flag(previewServer)
    Build-depends:
      snap-core       >= 0.6   && < 0.10,
      snap-server     >= 0.6   && < 0.10,
      fsnotify        >= 0.0.6 && < 0.1,
      system-filepath >= 0.4.6 && <= 0.5

  If flag(watchServer)
    Build-depends:
      fsnotify        >= 0.0.6 && < 0.1,
      system-filepath >= 0.4.6 && <= 0.5

The depend generalizer in 'mergeD' incorrectly moved
'fsnotify/system-filepath' depends only into
'previewServer' USE-flag.

Now 'mergeD' is more conservative of not joining nontrivially
dependent flags.

Github-bug: https://github.com/gentoo-haskell/gentoo-haskell/issues/303
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>