Addition of most sensible ufuncs

@astrofrog - I added most ufunc's that make immediate sense. I also somewhat reorganised, using `obj` to "signal" to `__array_wrap__` how the input(s) need to be scaled.

If you think this is OK, there is one more thing: in principle, with it, it should be possible to remove many of the overrides further down (e.g., `__add__`, `__sub__`, `__lt__`, etc.), as by default these call `np.add`, etc. (although this might lead to some slowdown). Furthermore, `np.multiply`, etc., can still be implemented, replacing `__mul__` (without slowdown).