Arrow.contravariantInstance; Arrow[A, B] <: Split[A, B] (?)

We had `Arrow.covariantInstance`, and I said in #249 that arrow had a contravariant instance too, so here it is.

Also I put `Split` above `Arrow` in the hierarchy.  That seems to have been the intended meaning of 7326546f355beb313dbdfaf11e7018511b88bbe8; if not, let me know.