Added support for `${N}` tabstops
Moved `selectToBoundaryPosition()` out from `SnippetExpansion` class

This gives developers more control and freedom for re-using snippets logic in their packages: snippet expansion will simply replace selected text with snippet instead of forcibly selecting prefix for current caret position
Generic method to insert snippet: `require('snippets').insert(text or snippet)`
Minor changes to follow Atom guides
Merge branch 'refs/heads/up-master'

Conflicts:
	lib/snippet-expansion.coffee
Fixed regression after merging with upstream master
Merge pull request #21 from sergeche/updated-api

Improved snippets API