default to filename as name of function in snippet

This is useful for writing lazy-loading functions without using funced.
use empty() instead of ==#
don't look for funced in new buffers

Fish passes an existing file so this is more correct.
mimic funced when manually creating new function