add spartan-6 idcode
improve enumeration to deal with different IDCODE commands, including commands of different length