ENH: add pivot kwarg to 3d quiver plot

Also removing an unused inner function and cleaning up some math.

The default value for `pivot` is "tip", which preserves the behavior with the existing 3d quiver plot, but differs from the regular 2d version which defaults to "tail".

I suspect this PR will need tests added, but I'll need help setting those up.
Might as well turn this into `for xyz, uvw in zip(zip(xs, ys, zs), zip(us, vs, ws)):`  Which I could have sworn got done when this came in...