Implement flexible target specification

See commit message.
Almost all other documentation in rustc is formatted to 80 char width, can you do so here as well?