Don't re-invent cpanm's local::lib feature

This also fixes bugs caused by my implementation
Tweaks made over the last couple days