Added a page to display buttons and sets

Resolves #912

http://jenkins.buttonweavers.com:8080/job/buttonmen-AdmiralJota/342/

This also involved tweaking the python client a bit, so that should be tested too.
Hmm, also, i note that the Avis fake data has a bunch of detailed info under dieTypes['X Swing'], whereas the other fake button responses just have a flat array.  Which way does the code actually do it, the Avis way?