Clean code, make it testable

- no top-level definition except for logging
- better attributes for each class (which ones with what name)
- define OrderedComment.__eq__
- update docstrings
- add a TODO, misc. changes
Add README and requirements files