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
```CodeCompletionParser``` is a nice and handy utility class and you should be proud of it. Then you should feel the sense that this needs to be done 100% right and that it never break. Check [this one](https://github.com/Benglin/designscript/blob/master/UIs/Editor/DesignScriptEditor/DesignScriptEditorCore/UnitTests/SmartFormatterTest.cs) out. It's a result of me wanting my ```SmartFormatter``` to be 100% fool proof. Added more and more test cases as we go, eventually it becomes *almost* flawless. This ```CodeCompletionParser``` is an ideal candidate for us to test the hell out of it! Make test cases, and make this rock solid, what say?