Shorter urls and fix some bugs and language specific things

Perfectly safe to subsect md5.  Remove the from future import since it is not needed with most modern python implementations.  Cast the hashString to a string since it is possible (and now more likely) that the hash could be all numbers, causing the concatenation to fail in the url function.  Switch the comments to docstrings where appropriate since that is the python preference.