Piecewise fix for 0d

I provide a fix for #331. Actually little changes were needed, but I had to carefully think about the assumptions being made by the function. Some additional tests were added and the behavior remains backwards compatible.

Besides, I corrected the documentation because there was an inconsistent bit, see 0d1f7d3.
not something for this PR but the following part could maybe use np.select somehow, just to reduce the optimization targets, e.g. select uses copyto instead of indexing as its a little faster.