[dagster] whitelisted namedtuple serdes
A scheme for serializing & deserializing dagster event data to and from json.
These are all namedtuples so by default you end up with lists if you just do default json
serialization. Even if you manage to encode them as dicts, you still dont know the classes
to use at deserialization time unless we manually maintain a bunch of code.
To resolve this, this serdes encodes the class name as __class__ then uses a predfined
whitelist to grab the actual class object using the name. I think this scheme prevents this
from being a security problem.
Test Plan: Unit test that round trips everything from the many_events pipeline.
Reviewers: #ft, schrockn
Reviewed By: #ft, schrockn
Subscribers: schrockn, prha
Differential Revision: https://dagster.phacility.com/D835