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
Adds a reusable OutputPanel class

* Adds `OutputPanel` class to `lib/panels.py`

`OutputPanel` instantiates an ST panel that is normally used for
build tasks. It can be written to and showed. It also implements
the file object interface.
Fix assertion
Remove CR characters from ouput before printing it
Enable error navigation via F4

* Disable quick panel-based error navigation
* Enable output panel-based error navigation
* Minor unrelated refactoring

ST plugins usually provide the ability to navigate through error
messages by pressing F4/Shift+F4. This is achieved simply by
setting optional settings in the view taking regular expressions
for values. The regular expression should capture file path, row,
column and error information targeting some textual output.

In this case, we are targeting the dartanalyzer's output.

This error navigation method is known by ST users, so the
experience of using Dart's package should be better in terms of
feature discoverability.

We may find a more fluid way of navigating errors, but I think the
current quick panel-based one is more distacting.
Merge pull request #77 from guillermooo/linter-output

Change linter output navigation from quick-panel-based to output-panel based