Boolean Union not working on this model

 From:  Nicolinux
7667.15 
The reason why this part is so messed up is because it was first designed to fit an aluminium extrusion that had the wrong size. After I had found a .step file for the correct part, I imported it and thought first to "fill" the area with the wrong sized cutout in order to cut out the new aluminium extrusion. I did this with a square that was extruded down and then merged into the main object. The thin lines with the two faces attached to them were some artifacts of this (probably silly) change that I introduced.
I think it would have been better to separate the main object and then delete the faces and edges of the cutout in order to have the cutout filled up.