fixed bug for << operator
functionality existed under operator __iadd__, but is used
in the module as __lshift__ operator
fixed bug in __pow__ operator

raising an exponent to 0 should return 1 (scalar)
fixed bug in  __nonzero__

need to have .any() for testing for testing if a numpy array
contains any values