[algorithms.greedy] do not fail for empty samples

Do we want to have something like this? Currently, if the greedy is given a list of empty samples, the user gets some numpy error somewhere. One could abort with a meaningfull error message. But since the given initial basis does not have to be empty I would propose to do as in the commit, namely return the given basis and the appropriate reduced discretization etc...
I am not so happy with the `None` for `max_err` and `max_err_mu`. Thinking about it, I would vote for completely removing them from the return value ..