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