Add lsqr

This also adds a generic "fake" `AbstractMatrix` interface for linear operators implemented as functions. This is the opposite direction of @stevengj's suggested interface; not sure what folks think about that. But it makes it more consistent with other functions already in this repository.