add get all groups

Perhaps it would be a good idea to obfuscate the cursor in some way so that clients don't start using arbitrary values instead of cursors they've been given?