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
Minor thing, but I have come to learn about checking ```null``` is sometimes not enough, I'd use ```string.IsNullOrEmpty(typeName)``` myself.