Support single- and multi-line defs, imports, vals, and vars

This is my second attempt to fix #10. It now supports single- and multi-line `import`s, `def`s, `val`s, and `var`s. The idea is similar to what I did in #18: there is a new `DoctestComponent` case `Verbatim` that unifies imports, assignments and definitions. If desired, it can be easily extended to `class`es, `object`s, `packgage`s or `type`s.

I also made some refactorings in `CommentParser` to reuse as much code as possible.