Try to remove ty_nil, some kind of error in exhaustiveness checking
Complete the removal of ty_nil

1) Change #[deriving] and format! to never produce PatTuple(vec![]) nodes.
2) Update librustdoc.
Remove TyBot for good from the AST representation
Update rustdoc
auto merge of #18752 : jakub-/rust/remove-unit, r=eddyb

Closes https://github.com/rust-lang/rust/issues/18614.