The Great Module Adventure Continues

What does it mean "all extern crates"? This is an open set.

Thus any reasonable system should work with extern crates in "on demand" way - if we have a name foo in the source code we 1) search this name in the source code somehow (that may include compiler's commandline) and if that search failed, then 2) we go into filesystem and search for a crate file named foo.rlib or something.

Btw, if all relative paths can fallback to extern crates, then we will have to search filesystem on every new name FIX: on every new unresolved name, that's better.