l3build: Allow for customisation of main()

In general it's easiest if main() just runs at the end of l3build. To allow
for caes where soemthing different should happen, use the 

    main = main or ...

trick but also define stdmain as the normal version. This allows for
custom definitions of targets while keeping the normal approach to actually
running the targets

    function main (a,b,c) end -- Do nothing
    dofile (l3build.lua)
    function ctan () 
     -- Some custom code
    end
    stdmain (ag[1], arg[2], arg[3])


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@5096 de43f980-851b-0410-b2f7-c40aca1f87e0