Track the type of lines in each hunk

A new list keeps track of whether a line read in a hunk is an added
line, a deleted line or a context line.
Use standard unittest module for tests
Make sure tests are using the development code