MonadPlus instance for Proxy

I more or less copied from the MonadError instance without really understanding everything so this deserves some scrutiny, but I tried to keep the code as close as possible for there to be less to vet.