Fleshing out swing request logic

I have started working on how BMGame and BMButton handle swing requests. The reason for the pull request is to pass on the change in syntax, which changes the order of input parameters for request_swing_value(). I also cache the BMDie recipe in a public $recipe variable.