Revert "reverted changes to porter stemmer, because they inadvertently introduced different behaviour of the stemmer"

This reverts commit 2adb08c320052e82366684893600024fb0515a96.
fixes to earlier porter stemmer refactor
added special case to porter stemmer that avoids exceptions being thrown for a handful of perverse non-words
More tkinter-related fixes:

1) use lower-cased tkinter module name (uppercased may fail in Python 3.x on case-sensitive filesystems, and lower-cased tkinter it is fixed by nltk.compat for Python 3.x);
2) imports in nltk.sem.drt_glue_demo are fixed (I didn't try the demo, but the code looks OK - I think it should work in 3.x as-is)
up-to-date urls for megam
Merge pull request #370 from kmike/megam-is-moved

up-to-date urls for megam
Demo functions for Baum Welch are fixed. See GH-69, GH-100.

They were broken in this commit: https://github.com/nltk/nltk/commit/9738e3e5027361255fc151b0dc7e1dd59ebeced2
PY3: fix nltk.classify.utils.names_demo (thanks Janosch Gräf for the report and a patch)
PY3: pickling of FreqDist is fixed (thanks @jgraef)
Merge pull request #369 from kmike/more-tkinter-fixes

Small tkinter-related fixes
Merge pull request #364 from ExplodingCabbage/master

Same improvements to the Porter stemmer as before, but without the bugs