TISTUD-6930 Content Assist: Alloy: Show Object instance methods for $

We have an extension mechanism which resolves the alias between $ and the actual controller type 
The controller type is computed as shown below . We now record all identifiers with the controller type 
as the owning type. Additionally we now create a type element corresponding to the controller type and set its 
owning type as the Global type

1./app/controllers/index.js -> IndexController 
2./app/controllers/a/index.js ->AIndexController 
3./app/controllers/a/bc.js -> ABcController 
4./app/controllers/ab/c.js -> AbCController

![screen shot 2014-10-01 at 2 53 13 pm](https://cloud.githubusercontent.com/assets/8658904/4527517/bd39eed4-4d67-11e4-8a3a-dd4182cb4a41.png)

![screen shot 2014-10-01 at 2 53 48 pm](https://cloud.githubusercontent.com/assets/8658904/4527522/c7a35f22-4d67-11e4-94c3-74e1b656fa1a.png)

![screen shot 2014-10-01 at 2 54 06 pm](https://cloud.githubusercontent.com/assets/8658904/4527529/d0091cd8-4d67-11e4-8f8f-9e3324e68106.png)

![screen shot 2014-10-01 at 2 54 27 pm](https://cloud.githubusercontent.com/assets/8658904/4527533/d6d5c624-4d67-11e4-8949-2961801cdf1f.png)


We're trying to get away from the singleton that is also it's own factory, because it doesn't allow for us to "clean up" on plugin shutdown/stop. We hang singletons off the plugin itself if we can, hiding them behind interfaces when possible so we can null out the reference/clean up when the plugin stops.

Here, it looks like you can hide this behind IAliasResolver itself, and hand a method like "IAliasResolver JSCorePlugin#getAliasResolver" off the JSCorePlugin, where we can lazily instantiate this factory and null out the field on JSCorePlugin#stop().