separate out io and cli code
tests for process_commandline
print lines before match line or without delim

closer to cut's behavior of printing none delim lines by default
option to discard lines before match line
option to discard lines without delim
rename process_lines
prevent blank lines when no matches
match line number special cases

Two cases were failing with unbound keep_idx:
- if match line number was on a fields without delim
- if match line number was smaller than first lineno

Set keep_idx to empty to start with and treat these like any other no
match case
spacing fix
add option to select complement fields
remove input parsing from output context
add version option
changelog for 0.3.0
update readme for 0.3.0