This patch introduces the simple MSVCUndecoratedNameParser. It is needed for parsing names of PDB symbols corresponding to template instantiations. For example, for the name
`operator<<A>'::`2'::B::operator>
we can't just split the name with :: (as it is implemented for now) to retrieve its scopes. This parser processes such names in a more correct way.