Create weapon_type key for items

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`.
Allow arbitrary equip flags to be set

This commit does the following:
* Renames weapon_type to equip_flags does away with enumeration
* Replaces requires_*_weapon with requires_flags for powers
Use a set instead of a vector for StatBlock equip_flags
Use set for requires_flags for simpler subset check
Remove hard-coding of equip flags in power tooltips

Printed names for equip flags are now located in engine/equip_flags.txt
Merge pull request #726 from dorkster/weapon_type

Create equip_flags key for items (and requires_flags for powers)