Undo enabling the `unreachable-pub` lint.
It appears that nom cannot correctly handle `pub(crate)`,
so the warnings cannot be fixed at the moment.
See https://github.com/Geal/nom/issues/807
neglected dep update from
r87a6cad20c90:
that rev also forces nightly rust due to https://github.com/rust-lang/rust/issues/23121
Enable all lints from the rust-2018-idioms suite.
Additionally, fix the violation of the bare-trait-objects lint.