Drop ':' if the source file name is empty
Drop ':' if the source file name is empty

A large number of tests compile contracts while passing in an empty
string for the source name.  This leads to it being keyed by the name
":<contract>", while the tests try to look it up under the name
"<contract>".  This change resolves that issue by dropping the ':' in
cases where there is, effectively, no source file to prepend anyway.

ruchevits/solidity,ruchevits/solidity,ruchevits/solidity,ruchevits/solidity