Added all necessary UI hooks for 'bower upgrade'

The actual functionality is still stubbed out.
Small refactoring for better code reuse
Fix the name of bower package installation directory
Cleanups and comments
Moved outline creation into a new method, getting analyzer service now instead of whole Services instance.  Created utility Canceler class and implemented in changeSelection handler (even though I will remove it.  Saving for future reference / use).
Added information on the body of each element in the outline (and renamed start/endOffset to nameStart/EndOffset
Merge remote-tracking branch 'upstream/master' into bower-upgrade
Merge remote-tracking branch 'upstream/master' into bower-upgrade
Added finding logic (sorting offsets, finding the one we're currently in), selection logic, and css style for selection
Cleaned up and reorganized
Updated tests
make sure to testen for a test listener server on startup
Merge pull request #1693 from devoncarew/devoncarew_fix_test_mode

make sure to listen for a test listener server on startup
Removed unused class
fix a stack overflow issue in the analyzer
add logging info to the outline
npe fix
refreh open files when spark gains focus
override ace's gotoline command; remove an unused action
Merge pull request #1697 from devoncarew/devoncarew_fix_analysis

fix a stack overflow issue in the analyzer