Allow nested module names
Summary:
As a part of the module references work, modules now are allowed to be nested inside one another. So module `x.y.z` is module `z` nested inside module `y` which is nested inside module `x`.
At the moment, there is no practical semantics assigned to nested modules, they're really just a module name with dots in them. So the parser parses them as qualified names, but once they are translated into the type checker, they just become regular names (that happen to have dots in them).
Reviewed By: oulgen
Differential Revision:
D37775964
fbshipit-source-id:
ea8406bcb3a7ad3444ff3dbd5ef5bced678c282f