title: strip() and strip(string.whitespace) give different results despite documentation suggesting they should be the same
body: <p>I have a Unicode string with some non-breaking spaces at the beginning and end.  I get different results when using <code>strip()</code> vs. <code>strip(string.whitespace)</code>.  </p>
  
  <pre><code>&gt;&gt;&gt; import string
  &gt;&gt;&gt; s5 = u'\xa0\xa0hello\xa0\xa0'
  &gt;&gt;&gt; print s5.strip()
  hello
  &gt;&gt;&gt; print s5.strip(string.whitespace)
    hello  
  </code></pre>
  
  <p>The documentation for <code>strip()</code> says, "If omitted or <code>None</code>, the <code>chars</code> argument defaults to removing whitespace."  The documentation for <code>string.whitespace</code> says, "A string containing all characters that are considered whitespace."</p>
  
  <p>So if <code>string.whitespace</code> contains all characters that are considered whitespace, then why are the results different?  Does it have something to do with Unicode?</p>
  
  <p>I am using Python 2.7.6</p>