Implement docstring folding

This branch implements docstring folding, comments on the code are welcome.

Basically docstring starts and ends with the same pattern so we have to track when we are opening and closing the docstring to avoid putting fold marks on docstring close.