Expose seek offset to add_or_replace_lines

Expose the  ```IO::String::seek``` whence and offset to ```add_or_replace_lines```. This will make it possible to ```add``` in arbitrary locations. 
Also provide some utility functions to help determine the add position.