Go to declaration to invoke omni go to def

PR not ready for merge - just for discussion and to show you guys where I'm thinking we could go in terms of refactor.  I need to update this with latest functionality in master, but it should illustrate the point.

- in general, move to event-kit subscriptions

- features are moved to individual files in `lib/atom-sharper/features`
    - they are discovered by atom-sharper in this location and loaded
    - each feature can subscribe to common events on the 'atomSharper' instance passed into their constructor, using atoms new event-kit subscription model
    - features can be addressed in a composite way using the 'iterate' function if events aren't sufficient in future

- views moved to lib/atom-sharper/views

- atom-sharper.coffee
    - loads features
    - sets up common subscriptions
        - broadcasts relevant events (for eg. when a new editor is attached that has a C# grammar)
    - still responsible for toggle

- specs
    - made  a minor dent with a few tests, need to do a bunch more and likely in a more E2E way, using `server/OmniSharp/TestContextInformation` files?

Let me know what you think!