ENH: Use the scipy C-based L1 distance if possible

This also removes the need for the size_threshold parameter, as scipy's implementation doesn't allocate large temporary arrays.

Fixes #3682.