Expand Span for imported module

In this PR https://github.com/apache/incubator-tvm/pull/6885, node name is stored in Span.SourceName.

Since Span.SourceName is supposed to represent name of source file, I’d suggest to add another field hint to Span to represent node or layer name which is common in models.

And when model is imported, its name isn’t kept by frontend, so Span.SourceName will be left empty in that case. line, colume, end_line and end_colume aren’t needed too for imported model.

@joshua19881228 @jroesch @tqchen @FrozenGene Please share your thought

I would like to add one flags attribute to make us have more extension for the future. Like we could have Span: (sourcename: ..., line:... column:... flags: SPFlagSourceNameImportedFromModel, ...) Then we could query the flags attribute to handle the specific condition.

@jroesch and I were talking about this a little. We were thinking of subclassing Span. You’d have SourceSpan which comes from files and then ModelSpan (probably could use a better name) for handling layers/nodes in models. This gets around the issue of having meaningless line fields for spans from models.