QIR construction speed up

The QIRcircuit constructor is now a bit faster. It made
two calls to collectTars when it only needed one. CollectTars
for seq also was sped up quite a bit by removing repeated calls
to union and doing a single call to unique after collecting
all the targets in the sequence.
performance enhancements and bug fixes

Added duplicate checks where needed in QIR.  Replaced some calls
to length with calls to numel.
Added QFT function

The function QFT(n) constructs the n qubit quantum forier transform.
This circuit, and its inverse, are widely used in quantum algorithms,
so providing an out of the box constructor makes a lot of sense.
v0.9.7 release commit

See release notes for changes.