This includes pretty much all the changes needed to make Applicative
a superclass of Monad finally. There's mostly reshuffling in the
interests of avoid orphans and boot files, but luckily we can resolve
all of them, pretty much. The only catch was that
Alternative/MonadPlus also had to go into Prelude to avoid this.
Signed-off-by: Austin Seipp <email@example.com>