WIP: Add ability to navigate symbols

I'm adding a basic .tmPreferences file to help ST index symbols in
Dart source code. The indexing won't work right now because the
symbol patterns are limited to scopes that do not yet exist in the
syntax file. These should be defined.

Navigating Dart source code would better be implemented as in the
Dart editor by using the same source code analyzer, but I don't
think that's still possible or easy to do, so this basic
implementation seems like a valid start point.
Modify Dart.tmLanguage to enable symbol navigation

With this commit, it should now be possible to navigate to typedefs
and classes (as defined in Symbol List.tmPreferences). The syntax
file now defines additional scopes needed to locate symbols in
Dart source code.

Things to note about Sublime Text symbol navigation:

It appears that the `class` symbol is automatically detected by ST
and, what's more, the transformation for it defined in the
Symbol List.tmPreferences files seems to be ignored. That's why
I've commented it out until I figure out what's going on. It may
be that some rogue .tmPreferences file is overriding Dart's symbol
list.
move .tmPreferences file to Support/
Merge pull request #70 from guillermooo/logger

Add basic plugin logger
Merge pull request #71 from guillermooo/refactor

Refactor
Merge pull request #64 from guillermooo/symbols

Add ability to navigate to 'typedef' and 'class' symbols
Edit README
Merge pull request #72 from guillermooo/readme

Edit README
BUGFIX: Declare variables and load settings before using them.
Format according to PEP8
Rename variables
Reorganize files

* Create lib subdir to hold reusable code
* Create path.py module for path-related functions
* Create plat.py module for platform-related functions

This commit also updates dartlint.py and pub_support.py to use
the new modules.
Update tests
Add Windows helper functions
Use new Windows helper functions in dartlint.py and pub_support.py

* Also add log statements to pub_support.py
* Minor refactoring
Bug fixes to pub_support.py

* Make ST3-compatible only (it was broken for ST3; now it may be for ST2)
* Decode output as UTF-8
* Use commands to write to panel instead of methods
* Call settings method; it isn't a property