Add linalg.add_dot

This adds `linalg.add_dot`, which adds a diagonal matrix to a dense one (similar to `linalg.dot_diag`). It's essentially just a short high-level wrapper over an `*axpy` call, so I'm not entirely sure it's worth the trouble (up to you).

Note that the `overwrite` parameter is False by default, which the other way around from `linalg.dot_diag`. should that be changed to have a uniform default over those functions?