"Buildable" implementation for addItemsToImport.
Merge remote-tracking branch 'alanz/ghc-api' into ghc-api
New addItemsToImport and addHiding, and tests for addItems.

Both functions now work through the same helper function, addItemsToImport'.

addItemsToImport' implementation is a rewrite of addHiding. It still needs a lot of refactoring.
Merge remote-tracking branch 'alanz/ghc-api' into ghc-api

Conflicts:
	test/TypeUtilsSpec.hs
Added more tests for addItemsToImport.
Refactored addItemsToImport' code. Also added possible tests.

Much of this changes to TypeUtils were to clean up not only addItemsToImport' code, but also remove much of the old addItemsToImport code lying around.
Merge remote-tracking branch 'alanz/ghc-api' into ghc-api
Fixed behavior of addItemsToImport. Won't break import interface.

The way it was implemented, calling addItemsToImport on an ImportDecl with no explicit function import list would create said list, adding the specified elements and eliminating every other one. Reconsidering on the design decisions from the old API, I came to the conclusion that this would be a wrong behavior. We should keep from adding anything if the ImportDecl doesn't already specify a list of functions.
Merge pull request #1 from frsoares/ghc-api

Ghc api