Removed `nil`

Having three kinds of objects to denote the absence of a value
is a bit retarded, so I removed the one I added. For denoting
the end of a sequence, I added the `done` property on the
`seq` function instead. Feels safer anyhow.

Also renamed `isNil` to `isnt` and added a converse `is`
function. Makes it nicer to read code than seeing bangs
everywhere.

Removed `lim` as well, since it was an odd ball and when `nil`
disappeared it was tricky to make it work with `seq`.
I took a cue from Clojure's `repeatedly` instead, with the
important difference that in this version of repeatedly each
function call will have its index passed.

Added a naive implementation of `nth`, which probably should
be optimized at some point.
Some hygienic changes
Added `comp` for function composition, and tests
Refactored `seq` to be a bit cleaner, and improved its tests
Added something for easier REPL testing in node, and `log`

Not sure whether `log` is meaningful at all outside of REPL
debugging right now, but I'll leave it around and opt to
remove later in the case of it being useless.
Merge pull request #5 from mstade/remove-nil

Thanks for the call @sammyt – duly appreciated! I feel pretty good about this and the `comp` question so I'll just go ahead and merge. Feel free to keep reviewing my stuff whenever, very much appreciate your feedback! <3