Codegen: Use prefix as the function name in simple cases

This is on top of pr #8082, its the single commit 87213dc with commit msg as follows

    Codegen: Use the first function name as a default for prefix
    
    Allow an abbreviated call to codegen:
    codegen(("foo", 2*x*y), "F95")
    rather than specifying "foo" twice:
    codegen(("foo", 2*x*y), "F95", "foo")
    
    This is particularly nice for languages such as Octave where the
    filename (prefix) should match the function name.

Why can't these all be in the same import?