std.Build: improve debugging of misconfigured steps

* Step.init() now takes an options struct
 * Step.init() now captures a small stack trace and stores it in the
   Step so that it can be accessed when printing user-friendly debugging
   information, including the lines of code that created the step in
   question.
02381c0372Andrew Kelley committed on 3/15/2023, 5:48:12 PMparent9580fbc
20 files changedLine totals unavailable