Fix isDefinedAt propagation of Choice, Split for PartialFunction.
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