Arrow.contravariantInstance
Make Arrow inherit from Split.
Fix isDefinedAt propagation of Choice, Split for PartialFunction.
Show instance for Map.
Merge pull request #258 from S11001001/topic/partial-function-split

Fix isDefinedAt propagation of Choice, Split for PartialFunction
remove inheritance from HListFunc to Func

Refactors HListFunc to be a stand-alone trait by moving type parameter
T < TCList to type variable L.
This allows HNilFunc and HConsFunc to have common trait so they can be
folded from a List[Int]. See test.
Merge pull request #257
Merge pull request #256
Merge pull request #259 from S11001001/topic/map-show

Show instance for Map