Major refactoring and additions.  Use a monad transformer for diagnostics, instead of the (Either Diagnostic a) thing.  Use a monad transformer for processing state, which didn't work at all before.  Use NoImplicitPrelude everywhere, with Eyshadow.Prelude as a module exporting a much-reduced set of stuff instead.  Factor most of the interesting modules into Eyeshadow.Data.* and Eyeshadow.Phase.*.  Still to do are more instances to make it actually compile.
Merge branch 'master' of github.com:IreneKnapp/Eyeshadow

Conflicts:
	Haskell/Eyeshadow/Data/Span.hs
	Haskell/Eyeshadow/Phase/File.hs
	Haskell/Eyeshadow/Phase/Process.hs