Adam/generalized draft import export 2

@dmitchell -- is this the right idea?

https://openedx.atlassian.net/browse/TNL-574
It's a bit confusing to use the same name w/ different contents for this named tuple.