Intersection homology: General perversities and topological invariance