allow ipairs to work on read-only tables
add table.map and table.filter
add id to the ship & equip defs for easier filtering
use table.filter to get ship/equip lists