implemented "nl"

A working version of "nl" that comes with a few basic tests and should run reasonably fast.
Todo: More tests (multiple files, weird combinations of parameters, ...) and a better help (then again, the original's isn't much better).
Closes #231.
Instead of saying ```let mut matched_groups: u8 = 0;```, you could say ```let mut matched_groups = 0u8;```.