Backed out 3a61567.  See my comments on https://bitbucket.org/pidgin/main/commits/3a6156743d752b150ac473edff6e5b481db951b3
Fix two gtk3 warnings
Re-commit improved 3a61567
Implement PurpleMemoryPool class
Merge remote-tracking branch 'origin/default' into launchpad
Sync with upstream