Change name to follow Python/ST naming conventions
Refactor

* Abstract some checks away into properties
* Rename functions according to Python/ST conventions
* Rearrange event handlers so they exit early if possible
Add support functions
Add tests for support functions

Tests should be run using the UnitTesting package available through
Package Control.

This isn't strictly a requirement, but it's the easiest way of
running the tests now.
Merge pull request #71 from guillermooo/refactor

Refactor