While playing with this same file, I found a ‘trick’ that makes cleaning up the self intersecting geometry very easy - Boolean Weld.
In order to have the Boolean Weld available, you need to have more than one vector selected:
Invoke Boolean Weld, and Voila!