Eliminating a potentially quadratic behaviour in Require, by using maps
instead of lists to test if a library has already been encountered.
Using Maps to handle imports in Safe_typing. The order is irrelevant indeed,
and the lookup operation proved to be costly when dealing with big libraries.