Don't evaluation expressions in assertTyped{Equals, Same}

To ensure that shapeless infers the result, i.e. so that no hints can
'leak' from the assertion
Merge pull request #220 from stacycurl/refactor-assert-typed-equals

Don't evaluation expressions in assertTyped{Equals, Same}
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
check empty lists for hlist constraints
Renamed Coproduct type class 'RemoveElem' to 'Remove'

+ Change the result of apply to be Either
    (the coproduct result can be obtained by calling Remove.coproduct)
Merge pull request #227 from reactormonk/master

check empty lists for hlist constraints
Merge pull request #229 from stacycurl/coproduct-rename-RemoveElem-to-Remove

Renamed Coproduct type class 'RemoveElem' to 'Remove'
Merge branch 'master' into scala-2.10.x