Preserve whitespace after spelling correction

I forked to solve https://github.com/sloria/TextBlob/issues/12
There are a few changes beyond exactly what was stated in the issue.
Most of these simplify the implentation and none break tests.
I believe that all of the changed behavior is:
* Spelling.suggest(w)  will return w if w is a whitespace character
* correct() does not remove whitespace from the beginning.
* correct() preserves all whitespace including new lines, double spaces, and tabs
* contractions are corrected as a whole.  e.g. "won't" to "wont" instead of "won't" to "wo not"
* punctuation separates words.  e.g. "speling.bee" to "spelling.bee" instead of "speling.bee" to "speling.bee"

If you're interested in using this, but want some stuff tweaked, please let me know and I'll try to accommodate you.