Add slotting to rust ebuilds.

These slots are added:
(major.minor) rust release
(nightly) nightly version
(git) git master branch

eselect module was added, that allows switching between different rust versions

To make all this work, proper support of --libdir option in rust build
system was implemented (previous version did not work), see
rust-lang/rust#16552
Until upstream accepts it, it will be maintained downstream