Calculate Modified CCN

I was required to calculate modified CCN so I added the support to lizard.

The default behaviour is not changed and all the functions should have no API breaking changes, i.e. after my changes nothing changes unless the code calling changed functions is changed.

The change is in two parts: the first commit refactors options passing to make it easier to add new options affecting LanguageChooser and language readers; and the second commit adds support for the modified CCN (that can be enabled with -m/--modified command line argument).