Cache nodes in libpurple backend
Merge branch 'node-cache'