Complex mode integration test and more bug fixes

I added an integration test for complex mode processing, and fixed a few bugs that showed up.  These are hopefully obvious given the commit messages.

I've also tried a mixed mode integration test, but that threw up a bug with a non-obvious fix.  Basically, the FT in the indirect dimension seems to create data that's twice as large as it should be.  As I'm not using this type of processing right now, I've left it and will file a bug report.  I've since commented these tests out.

There's another pull request coming in the next few minutes (I hope) that contains the rest of the changes relevant to my current project.