fix: deprecation methods can't rely on newer code

In the version of fish where `source` didn't exist, there was also no
`type -q`. That was introduced later. Therefore we have to fallback to
the old ways.