SourceCodeClassifier marks unused open declarations

![image](https://cloud.githubusercontent.com/assets/873919/3530402/235c77fe-07a4-11e4-92f4-95802ae5e057.png)

I will add tests but it basically works. 
Could you add a few assertions on `rawOpenDeclarations` e.g. (1) `ident` has to be a suffix of all identifiers in `rawOpenDeclarations` (2) each identifier on the list has to be a valid identifier? We should not trust unknown `qualifyOpenDeclarations`, especially information is coming from  `parseTooltip`.