first turn-in-ready version

implements all required functionality including:

 * searching for string in given file or stdin
 * optional -v or --invert-match option can be specified to print only non-matching lines

also implements extra functionality including:

 * multiple files can be specified in arguments
 * when multiple files are given, each printed line is prepended with the filename and a colon
 * can handle lines ending with "\n", "\r", or "\r\n"