Add implementation for getNavigateToItems for the new compiler

Mostly kept the original behavior. Some minor changes:
* Include local variables for functions, as it felt inconsistent that we included them for modules but not functions
* use name of the declaration instead of the fully qualified name for the container, this felt less cluttered in the navigateTo list, and there is no way of getting a less qualified name, as we do not have a reference location.
too many allocatoins.  do something else :)