message: attributes: check if a skipped parameter exists
  This PR adds a check to the `#[instrument]` macro to emit a compiler
  error if the user tries to skip non-existing parameters.
  Fixes:
diff: @@ -210,6 +210,19 @@ pub fn instrument(args: TokenStream, item: TokenStream) -> TokenStream {
  FnArg::Typed(PatType { pat, .. }) => param_names(*pat),
  FnArg::Receiver(_) => Box::new(iter::once(Ident::new("self", param.span()))),
  })
  + .collect();
  +
  + for skip in &skips {
  + if !param_names.contains(skip) {
  + return quote_spanned!(skip.span()=>
  + compile_error!("attempting to skip non-existent parameter")
  + )
  + .into();
  + }
  + }
  +
  + let param_names: Vec<Ident> = param_names
  + .into_iter()
  .filter(|ident| !skips.contains(ident))
  .collect();
  