Matrix/Vector support for Complex numbers

Hey David,

I've been using Breeze for some DSP algorithms and ran into issues with Complex numbers.  I added support (along with some basic tests) so that the Matrices and Vectors could work with breeze.math.Complex values.  It looks like a lot of changes, but they basically boil down to:

1. Updated GenOperators to auto-generate all the ops classes for Complex values
2. Added pow() and log() to Complex class
3. Updated the .zeros() methods to use the DefaultArrayValue type class (they were relying on the primitive defaults).  Semiring would probably be better, but DefaultArrayValue was already being passed in almost everywhere so I went with that.

Once issue #21 (spire integration) is complete I think the Complex values and operations will fall out naturally and most of this will get subsumed.  But these changes should provide support for them in the meantime with the current framework.

Let me know if you have any questions.  Thanks!