[composition] improve output node misuse errors
Summary: From situation hit during ... "user research", make it so InvokedSolidOutputHandle does not destructure accidentally in to two strings by making it an object and overriding methods to provide good error messages.
Test Plan: new test cases
Reviewers: #ft, themissinghlink
Reviewed By: #ft, themissinghlink
Subscribers: natekupp, themissinghlink
Differential Revision: https://dagster.phacility.com/D1319