Create equip_flags key for items (and requires_flags for powers)

See #719 and clintbellanger/flare-game#336

This allows us to specify that an item can be wielded as a weapon
without relying on damage stats. It supports multiple weapon types so we
can have a "Swiss Army Knife" type of weapon with
`weapon_type=melee,ranged,mental`.

UPDATE: The last commit I added changed things a bit:
* Renames weapon_type to equip_flags does away with enumeration
* Replaces requires_*_weapon with requires_flags for powers