Use ApplicationTransactions and CustomField to implement build steps
This makes "artifact" fields a little less nice (but still perfectly usable). With D8599, I think they're reasonable overall. We can improve this in the future.
All other field types are better (e.g., fixes weird bugs with "bool", fixes lots of weird behavior around required fields), and this gives us access to many new field types.
Made a bunch of step edits. Here's an example:
- "Required" fields work correctly.
- the transaction record is shown at the bottom of the page.
Reviewed By: btrahan
Differential Revision: https://secure.phabricator.com/D8600