Cabal submodule update: hole support and tests.

Depends on D485

Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>

Test Plan: validate

Reviewers: simonpj, austin

Subscribers: thomie, carter

Differential Revision: https://phabricator.haskell.org/D487
Inline mkModuleToPkgConfAll into mkModuleToPkgConfGeneric.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Change loadSrcInterface to return a list of ModIface

Summary:
This change is in preparation to support signature imports, which may pull in
multiple interface files.  At the moment, the list always contains only one
element, but in a later patch it may contain more.

I also adjusted some error reporting code so that it didn't take the full
iface, but just whether or not the iface in question was a boot module.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>

Test Plan: validate

Reviewers: simonpj, austin

Subscribers: thomie, carter

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