Implement #32

ActionSet have field option to describe the choice, if applicable
ActionSet tests a player for validity before execute()ing
NPCActionInfo renamed to NPCActionMapping
NPCActionSetInfo stores the ActionSet option choice name thing
Table "npcactionsetinfo" added to mirror NPCActionSetInfo
NPC returns JSON containing valid options for the player
NPC looks up action set based on option choice
NPCFactory puts the option field on each ActionSet whilst building them
OverworldView.NPCButton asks for an option choice, if applicable
JPokemonService getOption added
MapService looks up actionset in npc by option choice
Actions to affect items and events added and implemented
Requirements cleaned up
Mom will give you a potion if you haven't gotten one from her yet