What I have so far of File I/O

This is hugely a WIP, but I've had this changeset laying around for a
while and figured I should commit what I have so far.

This implements purely functional reading of a file's contents into a
LinkedList of lines.

None of this is trampolined (especially LinkedList), so a lof ot his could very
easily overflow the stack on files with many lines.

Signed-off-by: Ricky Elrod <ricky@elrod.me>