Move dynamic_lib out of std.

`dynamic_lib` has been moved out of `libstd` to it's own crate
`libdynamic_lib`.

There isn't strong support for keeping it in `libstd`. It is fine for
`librustc` to depend on a crate external to `libstd`.

This will break `std::dynamic_lib::DynamicLibrary` and `std::dynamic_lib::dl`
which are now `dynamic_lib::DynamicLibrary` and `dynamic_lib::dl`.
Needs `extern crate dynamic_lib;`.

Closes #8157.

[breaking-change]
auto merge of #16765 : treeman/rust/dynamic_lib, r=alexcrichton

A first step in fixing #8157. 

We might want to move `dynamic_lib` to a crate in rust-lang org, this is a first step towards that. Does it make sense to do it this way?