Quantity numpy ufunc additions: ufunc.at, reduce, reduceat, accumulate

This follows on the introdoction of `__numpy_ufunc__` in #2583 (only look at last commit), adding support to `Quantity` for ufunc methods [1]: `ufunc.at`, `reduce`, `reduceat`, and `accumulate`. It think it will be useful, though one problem is that I do not know how to support this without `__numpy_ufunc__`; thus, it will only work in numpy >=1.10.

[1] http://docs.scipy.org/doc/numpy/reference/ufuncs.html#methods