Templates: Move to ${cursor} after completing all tokens.
Templates: auto-indent lines after the first.
Fix indentation and column position of tokens.
Move functions out of getCompletions.
Encapsulate templates in a class.
Use templates for javascript function completion.
Do not include optional function parameters.
Use {cursor: true} for cursor tokens.

This prevents conflicts with variables called "cursor".
Merge pull request #8 from journeyapps/master

Additions for templates-hint.