Resolve __random button selections only after all buttons have been selected

Fixes #1157.

Requires database update 01157_random_button.sql

http://jenkins.buttonweavers.com:8080/job/buttonmen-blackshadowshade/377/
So this pull contains an API change to add buttonId to button response?  Is that actually needed for random, or just something else that got merged in while working on it?  (Mostly just trying to make sure API modifications are intentional.)