Remove trailing whitespace
HList split methods reverted to return Tuple2 (to maintain back compatibility)

Coproduct.split methods changed to return Either
Added HList.splitP & Coproduct.splitC methods that return products / coproducts.
Merge pull request #223 from stacycurl/revert-split

HList split methods reverted to return Tuple2
Added headTail & initLast to HList and Coproduct

Aliases: HList.{headTailP, initLastP}, Coproduct.{headTailC, initLastC}
Added InitLast type class, implemented Init & Last in terms of it,
  replaced usage of Init & Last elsewhere with InitLast