Implement Partial Type Signatures

Summary:
Add support for Partial Type Signatures, i.e. holes in types, see:
https://ghc.haskell.org/trac/ghc/wiki/PartialTypeSignatures

Test Plan: validate

Reviewers: simonpj, goldfire, austin

Subscribers: simonmar, ezyang, carter, goldfire

Differential Revision: https://phabricator.haskell.org/D168
Add -fwarn-holes-in-types

When -XPartialTypeSignatures is enabled, the errors about holes in partial
type signatures are converted into warnings when -fwarn-holes-in-types is
on (it is by default), otherwise the inferred types are silently accepted.

Use this flag to remove these warnings from the test output.
Update the manual
Rename -fwarn-holes-in-types to -fwarn-partial-type-signatures