Stop BMBtnSkillEcho->load_buttons hook from firing when the opponent's button has not yet been set
Changed asserts to explicit thrown exceptions, to allow for informative error messages
Fixed checkstyle warnings
Added unit test to cover BMBtnSkillEcho->load_buttons() only firing when all buttons are loaded
Merge pull request #1257 from blackshadowshade/1251_echo

Echo now only takes effect when all buttons are specified