Removing doubles corrupts UV mapping
The situation in your case is a bit similar to one in the linked post in the comments, except for the fact that here are 4 islands overlapping and they do that in a bit more difficult way (see below). In the next screenshot you can see what you can get from "one" island on the UV map if selecting and grabbing them out:


Left - original UV map, right - all islands revealed

The problem however is that you can't just select those revealed islands, select adjacent faces in the mesh (Keep UV and edit mode mesh selection in sync) and delete them. Some of overlapping islands are those which should be preserved (meaning if repairing this UV mapping).
So to delete only double faces you should find only those which do not affect UV mapping as you see it. In order to do that:


With all islands revealed check Keep UV and edit mode mesh selection in sync in the header of UV / Image Editor. 
Unselect all faces and use B (Border Select tool) to select one of revealed islands. 
Move selection in UV / Image Editor and you'll see texture changing in 3D Viewport. The trick is to find those faces which do not move; those are the doubles and the ones which should be deleted.


Repeat that for other islands; once finished you'll get not very nice UV map and mesh with texture looking the same. The Remove Doubles operator won't affect UV map any more and you'll be able to delete remaining double vertices:




The UV map will look like partially stolen, and I don't think you can automatically gather it back again. However quick and dirty solution will be to select former overlapping islands and move them back to main ones (not the best solution though).


The checker texture isn't packed in blend