Npymath complex: support for complex in basic arithmetic: negative, add, subtract, multiply and the divides

That's a whole lot of code below and it's not very readable. Can you add an explanation for the various cases here?