Resolve unopened namespace

It's not ready for merging yet. 

* [x] Add tests for generating `open` statements
* [x] Show the smart tag on types in the proper positions only
* [x] Support shortened attribute names (`SerializableAttribute` should be found by simple `Serializable`). Require change `Ast.isEntity` to `Ast.getEntityKind` and return `EnityKind.Attribute` for attributes. 
* [x] Support DU cases
* [x] Suggest only attribute types for unresolved symbol in attribute position
* [ ] Respect `RequireQualifiedAccess` attribute on modules and DUs
* [ ] Filter our private types and internal types declared in external assemblies
* [ ] Support `InternalsVisibleTo` attribute 

Please, review and test it. 
Perhaps change `let fullName` to `let idents`. Two identifiers with same name but different types are confusing.