Updated code to work with Python 3.3

-Changed __cmp__ to __lt__
-Removed almost all uses of map()
-Replaced xrange() with range()
-Revised my use of the urllib module
-Temporarily replaced shelve with dumbdbm
-Worked with base64 now requiring bytes instead of strings
-Also added in new object state mechanism (still buggy)