title: FAKE: Target prints all available targets in build script
body: <p>Question: Is there a command in FAKE available which prints all the defined targets in the build script? </p>
  
  <p>I want to setup my FAKE build in such a way that it prints a list of all available targets in the build script when I do not specify a target.</p>
  
  <p>For example:</p>
  
  <pre><code>&gt; build.cmd
  
  Available targets:
    - Clean
       Depends on: []
    - DeleteBinObj
       Depends on: []
    - RestorePackages
       Depends on: ["Clean"]
    - Build
       Depends on: ["RestorePackages"]
    - CopyBinaries
       Depends on: ["RunTests"]
    - RunTests
       Depends on: ["Build"]
    - Default
       Depends on: ["CopyBinaries"]
  </code></pre>
  
  <p>In the FAKE build script I would define something like:</p>
  
  <pre><code>Target "Default" (fun _ -&gt;
      listTargets
  )
  
  RunTargetOrDefault "Default"
  </code></pre>
  
  <p>The only thing that is missing it the command listTargets.</p>