Represents the imports that occur before a piece of user code in the
Ammonite REPL. It's basically a Seq[ImportData], except we really want
it to be always in a "canonical" form without shadowed/duplicate imports.

Thus we only expose an apply method which performs this de-duplication,
and a ++ operator that combines two sets of imports while performing
de-duplication.