Never, never, never and never use a blank before one those punctuation marks, except (except) if you're writing in the internet (web, email , you name it) and your sentence ends in a webadress like http://german.stackexchange.com .
But there are other punctuation marks, which have other rules, as Em1 points out in the comments: Parenthesis do have space on the outer side, but not on the inner side, and if nested, there is no space between them, and not to other punctation marks:
foo ((example) bar (baz)), foobar
For the dash - we have space before and behind. For the ellipse of triple dots, …, the sentence end is omitted if it is just a dot. Before the ellipse, you put a non breaking space, to avoid it being placed at the beginning of line. Else, it is threatened as what it is replacing.
french spacing
war mit bis heute unbekannt. Im Englischen waren 2 Leerzeichen nach Satzende en vogue um 1900. Im Französischen würde ich nie 2 Leerzeichen benutzen. Aber vor und nach:
kommt je ein Leerzeichen. Siehe auch http://en.wikipedia.org/wiki/History_of_sentence_spacing – Pierre Arnaud Feb 20 '14 at 05:41