Use compat layer for typing introspection
Summary: Use a backport of the python 3.8 typing.get_args and typing.get_origin APIs to clarify our type introspection. Adds tests to clarify current behavior.
Test Plan: Unit
Reviewers: schrockn, alangenfeld, dgibson, prha, sandyryza
Reviewed By: alangenfeld
Differential Revision: https://dagster.phacility.com/D8086