I couldn't find an origin for this phrase, although there is a medical definition for it.
The other definitions for this phrase fit with its use - someone who chooses not to see something, who has a tendency to ignore something especially because it is difficult or unpleasant.
The phrase originated as 'son of a military man' (that is, a gun). The most commonly repeated version in this strand is that the British Navy used to allow women to live on naval ships. Any child born on board who had uncertain paternity would be listed in the ship's log as 'son of a gun'. Read more about this phrase and find out if the Navy allowed women on board here.
A dry run is a rehearsal. The term appears to come from American firefighting jargon, where dry denoted a practice where the hoses were not turned on. Here is this detailed description of a dry run from the Frederick, Maryland News of 28 May 1901:
Not less than fifteen or more than seventeen men to each company. Dry run, standing start, each team to be allowed one trial; cart to carry 250 feet of hose, in 50-foot lengths; distance, 200 yards to hydrant, attach and lay one line of hose 150 feet from hydrant, break coupling and put on pipe,...ready for water. (source)
The phrase today applies to anything that needs to be rehearsed.
The origin of this phrase is believed to be from Aesop, a Greek fabulist who is said to have lived from 620 to 560 BCE. He wrote a number of different fables known collectively as Aesop's Fables. (source)
Just like in the fable, The Boy Who Cried Wolf by Aesop, the meaning of the phrase means someone who lies but when they choose to tell the truth nobody will believe them due to their previous lies.
This American expression came into being in the Great Depression. Residence on Skid Row evokes imagery of someone who was slipping down in society - 'on the skids'. But the term wasn't just figurative, read all about it here.
These days the term skid row means the same thing - A squalid district inhabited by the impoverished and destitute. OR the band... *grin*