Make distinct key functions more F# friendly, add ofSeqOn, reorder scanInit

Changed the distinct... functions to take F# functions
Added a version of ofSeq which uses a scheduler (ofSeqOn)
Reordered the parameters to scanInit to be more composable
Corrected some spellings and added some tests

Hope these look OK.