fixed: UnopenedNamespacesResolver inserts open statement in a wrong place in a script that has no other open statements, but has # directives

fixed: UnopenedNamespacesResolver does not show the smart tag on module top level do expressions
Merge pull request #604 from vasily-kirichenko/onopened-namespaces-resolver-fix

fixed: UnopenedNamespacesResolver inserts open statement in a wrong place
AssemblyContentProvider returns FullDisplayName instead of FullName
finished: SourceCodeClassifier deal properly with symbols which has different DisplayName
remove commented code
add a test for SourceCodeClassifier
refactor SourceCodeClassifier and related types according to the code review