update language_by_size from trunk

git-svn-id: http://svn.wikimedia.org/svnroot/pywikipedia/branches/rewrite@11296 6a7f98fc-eeb0-4dc1-a6e2-c2c589a08aa6
update language_by_size from trunk

git-svn-id: http://svn.wikimedia.org/svnroot/pywikipedia/branches/rewrite@11299 6a7f98fc-eeb0-4dc1-a6e2-c2c589a08aa6
update language_by_size from trunk r11303

git-svn-id: http://svn.wikimedia.org/svnroot/pywikipedia/branches/rewrite@11304 6a7f98fc-eeb0-4dc1-a6e2-c2c589a08aa6
PEP8 changes, update from trunk r11300, r11301, r11305, r10028

git-svn-id: http://svn.wikimedia.org/svnroot/pywikipedia/branches/rewrite@11306 6a7f98fc-eeb0-4dc1-a6e2-c2c589a08aa6
Split getting a property's datatype into its own request so it can be cached.

Since a property's datatype will never change, we can safely cache it "forever".
I also fixed it so that we don't guess the datatype based on what was returned in
a "datavalue" object, since that is unreliable.


git-svn-id: http://svn.wikimedia.org/svnroot/pywikipedia/branches/rewrite@11309 6a7f98fc-eeb0-4dc1-a6e2-c2c589a08aa6
Proper support for reading/creating claims for commonsMedia


git-svn-id: http://svn.wikimedia.org/svnroot/pywikipedia/branches/rewrite@11310 6a7f98fc-eeb0-4dc1-a6e2-c2c589a08aa6
Use json.dumps so that special characters are encoded properly.


git-svn-id: http://svn.wikimedia.org/svnroot/pywikipedia/branches/rewrite@11311 6a7f98fc-eeb0-4dc1-a6e2-c2c589a08aa6
basic implementation of caching of edit tokens
Merge branch 'upstream'