Fix for c++ backend

The representation of SwitchInsts changed in LLVM >= 3.2 to use the new range objects.  This causes issues when iterating through the operands of a SwitchInst cast as a User.  The C++ was thus generating spurious type array type declarations when an ISPC program uses the print function of the standard library.  For now, just punt if the search for ArrayTypes finds a SwitchInst.  There is probably a cleaner way to fix this in the future.