Basic CBN auto-complete with classes and declared variables

This PR includes autocompletion on (1) class names and (2) declared variables:
![image](https://cloud.githubusercontent.com/assets/5710686/4354735/731a1594-4241-11e4-98c2-3ce7eaf2a6a0.png)
![image](https://cloud.githubusercontent.com/assets/5710686/4354740/81efccb2-4241-11e4-98a6-6788e0b0e1b6.png)

@Benglin PTAL
I'd cross check with @lukechurch about taking codes from somewhere else even I suspect that it's gonna be okay here.