ENH: merge_asof() has type specializations and can take multiple 'by' parameters (#13936)
 - [x] closes #13936
 - [x] tests added / passed
 - [x] passes ``git diff upstream/master | flake8 --diff``
 - [x] whatsnew entry