Implement dart analyzer

Opening up an initial pull request, please review especially on error handling and output to the user. Was not sure how to properly tell the user exactly what is wrong, just that something maybe wrong or something may have failed. Sample output below. 

```
19:11:28-adam@Adams-MacBook-Air:~/dart/bot.dart
$ ./bin/hop test_analyzer
test_analyzer: Running dart analyzer task
test_analyzer: WARNING: test/harness_browser.dart
               PASSED: test/test_console.dart
               PASSED: test/harness_console.dart
               PASSED: test/test_dump_render_tree.dart
               PASSED: test/test_browser.dart
               PASSED: test/test_shared.dart
               PASSED: 5, WARNING: 1, ERROR: 0
               
test_analyzer: Passed
Finished
19:12:32-adam@Adams-MacBook-Air:~/dart/bot.dart
$ ./bin/hop lib_analyzer
lib_analyzer: Running dart analyzer task
lib_analyzer: PASSED: lib/bot.dart
              PASSED: lib/bot_html.dart
              PASSED: lib/bot_test.dart
              PASSED: lib/hop_tasks.dart
              PASSED: lib/bot_async.dart
              PASSED: lib/bot_io.dart
              PASSED: lib/bot_texture.dart
              PASSED: lib/bot_git.dart
              PASSED: lib/bot_retained.dart
              PASSED: lib/hop.dart
              PASSED: 10, WARNING: 0, ERROR: 0
              
lib_analyzer: Passed
Finished
19:14:59-adam@Adams-MacBook-Air:~/dart/bot.dart
$ ./bin/hop tool_analyzer
tool_analyzer: Running dart analyzer task
tool_analyzer: PASSED: tool/hop_runner.dart
               PASSED: 1, WARNING: 0, ERROR: 0
               
tool_analyzer: Passed
Finished
19:15:41-adam@Adams-MacBook-Air:~/dart/bot.dart
$ ./bin/hop test hop_tasks
unittest-suite-wait-for-done
test: hop_tasks - test command success
test: hop_tasks - test command fail
test: hop_tasks - test command does not exist
test: hop_tasks - git - create branch from dir
test: hop_tasks - dart_analyzer - passing file
test: hop_tasks - dart_analyzer - warning file
test: hop_tasks - dart_analyzer - failed file
test: hop_tasks - dart_analyzer - multiple passing files
test: hop_tasks - dart_analyzer - multiple warning files
test: hop_tasks - dart_analyzer - multiple failed files
test: 10 PASSED, 0 FAILED, 0 ERRORS
Finished
19:16:15-adam@Adams-MacBook-Air:~/dart/bot.dart
$ 
```