Refactor env.namespace

I tried to solidify the logic inside `env.namespace`. The biggest change is that `lookups` and `paths` cleanup is done all at once, so this should prevent some trouble if path repeats itself. 

Also, the path normalization is done upfront, so this prevent us from having to put much logic in differentiating Windows from Unix system (exception made of the regexp).

And lastly, the lookups dir to removed is now ordered, so this will prevent conflict like what would happen with issue #212.

Let me know if you see anything that could be simplified.