Rewrite tab stop jumping and updating code

The code for jumping between tab stops should be a bit simpler now. Additionally it enables per-buffer expansion of snippets. This pull fixes #43, #92, and #94 as well.