Fail harder when there's a config error generating a sensor run
Summary:
Right now if the sensor code succeeds but the subsequent RunConfig is misconfigured, we still create the run, just putting it immediately in a FAILED state (and taking up the run key). This is logic inherited from the scheduler, where it arguably makes sense to do this since there's usually exactly one run per tick but is likely not what we want for sensors - instead, we want to fix up the code and not take up the run key until a run is actually valid and ready to launch.
Should resolve https://github.com/dagster-io/dagster/issues/3593 and https://github.com/dagster-io/dagster/issues/3583 (kind of)
Test Plan: New BK coverage
Reviewers: prha, johann
Reviewed By: prha
Subscribers: catherinewu, schrockn
Differential Revision: https://dagster.phacility.com/D6151