Feature/code folding

Add python code folding

Compared to the pyqode.core code folding (see pyQode/pyqode.core#141), this implementation only detects logical blocks (triggered by a ':' followed by an increase in the indentation level). It also add fold markers for global imports and docstrings.

To finishs this feature, the folliwing tasks must be completed:
- [x]  write unit tests for the python fold detector
- [x]  optimize the python fold detector which is quite slow compared to the simple indent based detector. Not sure if there is much thing to do on this though.