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, `trait`s, `implicit`s, `lazy val`s `packgage`s or `type`s.

I also made some refactorings in `CommentParser` to reuse as much code as possible.