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

Move trans, back, driver, and back into a new crate, rustc_trans (which probably needs a better name). This is not a principled split per se, though it does make some sense, as the things which have been moved all fall into "back end" territory. The primary motivation is reducing memory usage. Measurements with massif suggest that peak memory usage after this change is 1.5GB. In comparison, measurements on master show a range from 1.8 to 2.5 GB of usage.

r? @brson 
cc @alexcrichton 
cc #18784