Initial version of NavigateTo

This PR contains initial implementation of 'Navigate To'. It uses results of untyped parsing to locate candidates - majority of navigable items are top level declarations which can be discovered by syntax analysis only without resorting to peeking into symbols.
Pros: parsing is faster comparing to semantic analysis, it can be performed on the actual source text from the buffer and potentially parallelized (since every file is processed independently, not sure it is possible now because of some global shared state in compiler)
Cons: in many cases reported information is quite generic - for all types we now report that some generic type is found instead of doing some sort of kind inference - personally I don't think it is a big deal since preview allow to visually examine the context.