Move trans, back, driver, and back into a new crate, rustc_trans. 

Reduces memory usage significantly and opens opportunities for more parallel compilation.

This PR was previously #19002 but I closed it because bors didn't seem to recognize the `r+` annotations there.