Initialize cabal project and create instances.

As discussed in this thread: https://cloud-haskell.atlassian.net/browse/DP-70

Note I've pinned the version for distributed-process to 0.4.2 and used this same version number for distributed-process-monad-control. 

I think the restrictive pinning is necessary because these instances require use of Internal types.  Subsequent revisions could be flexible in the lower bounds but I think we'd always want to keep an upper-bound exactly at the most recently tested minor revision.