Indexed commentparser

:warning: This comes after merging decl-functor :warning: 
Instead of:
```hs
class CommentParser p where
    parseDocs :: p -> Package (Maybe Comment) -> Either CommentParseError (Package (Maybe DocBlock))
```
I made:
```hs
class CommentParser a where
    parseDocs :: Package (Maybe Comment) -> Either CommentParseError (Package (Maybe (DocBlock a)))
```

So you can ask for a comment parser by it's type.
:cool: