create game UI greys out buttons with unimplemented skills

Use BMSkill, BMDie, and BMButton to determine which buttons have unimplemented skills, and grey these buttons out in the UI with a warning to testers.

I added a couple of unit tests of BMSkill public methods because i wanted to test the method i was adding directly --- hope that's okay.  Kick this back if you don't like any of the code i added, but i think this is the right way to do it, and i think having the visual warning at button selection time will be helpful to testers.