add Ivory.Language.Plugin

This is a GHC plugin that rewrites Ivory programs to insert source
locations referring to the original Haskell source. It currently
requires the -fhpc flag to get the source locations from GHC, but
that should change with the planned introduction of DWARF support
in 7.10.

See ivory-examples/ivory-examples.cabal for an example of the
options you should pass to GHC to enable this plugin.