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 forgot to ask the previous time, why do we not care about duplicated entries here? If this is done by mistake, then I do see an opportunity for both the similar methods to be combined into one (utility) method.