Adding some position-related IO functions.
Moving the enum's to the header.
Add a comment aove io_generate_mode_from_string forward declaration.
Add some verifications, add an implied bit of code.

I add this return statement so we can throw in a printf somewhere
if we want to be let-known if we're all okay, the thing will do that.
Add some comments.
io: rewind to start during length calculation; main: dynamic sizes in read implementation