Adding haskell functions like lines, unlines, intersperse

The commit adds a few list functions

- `pad amt elem list`: takes a list and pads the end with the element `amt` times
- `fill total elem list`: pads the list `total - List.length list` amount with the element
- `prependToAll sep list`: haskell port (but I updated it to use tail calls), prepends a separated to each element of the list
- `intersperse elem list`: takes a list and intersperses the element (so `["a";"b";"c"]` with `,` becomes `["a";",";"b";",";"c"]`

And a few string related functions

- `strLen` since its nice to be able to get the length of the string by passing it to a function vs having to act on it
- `lines input`: another haskell port, seperates a string by newlines (irrespective of `\r\n` or `\n`)
- `words input`: splits a string by whitespace (including spaces and newlines)
- `unlines list`: folds the string list into newline seperated string
- `unwords list`: folds the string list into single space seperated string

I added unit tests for everything, but couldn't find where you update your documentation so I didn't do that.  Anyways, big fan of the fsharpx project, keep it up!