use undotree().seq_cur instead of b:changedtick if available
fix #5: function wrongly detected in C source code

This commit also adds new methods to s:base_finder:
* in_function(pos)
* pos_between(pos1, pos2, pos3)
* get_begin_pos()
* get_end_pos()