normalizePathComponents

Process path components such as . and .., replacing redundant path components including all leading. It also discards all reserved characters and component names that are reserved (such as CON, NUL).