#2581 refactor hir::Path to separate paths with and without generic arguments on the type level.

#2545 add ids to all tokens (this is groundwork for hygiene and better support for IDE features inside macro calls).