Improve and rearrange command line file parsing

The way in which files are translated is now more flexible for the user
and also allows absolute files (fixes #48). For a full description, see
the comments of #50. (Fixes #50 as well.)

Also extracts various parts of the file parsing “assembly line” into
separate top-level functions, which means they can now be tested!
Update for ceylon.language take → takeWhile rename

Following ceylon/ceylon.language@6989bfb.