Bug: Use `#[automatically_derived]` for all derivations



Consider to mark any new code/items, generated by procedural macros, with the `#[automatically_derived]` attribute. This makes code style linters to omit the generated code and doesn't report redundant warnings.

Example: https://github.com/cucumber-rs/cucumber/blob/v0.15.1/codegen/src/world.rs
diff --git a/crates/router_derive/src/lib.rs b/crates/router_derive/src/lib.rs
index 7bb020f3c13..cba0ef30129 100644
--- a/crates/router_derive/src/lib.rs
+++ b/crates/router_derive/src/lib.rs
@@ -176,6 +176,7 @@ pub fn setter(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
         }
     });
     let output = quote::quote! {
+    #[automatically_derived]
     impl #ident {
             #(#build_methods)*
         }
diff --git a/crates/router_derive/src/macros.rs b/crates/router_derive/src/macros.rs
index 8ef88d13c65..db3eb7fc9d8 100644
--- a/crates/router_derive/src/macros.rs
+++ b/crates/router_derive/src/macros.rs
@@ -18,6 +18,7 @@ pub(crate) fn debug_as_display_inner(ast: &DeriveInput) -> syn::Result<TokenStre
     let (impl_generics, ty_generics, where_clause) = ast.generics.split_for_impl();
 
     Ok(quote! {
+        #[automatically_derived]
         impl #impl_generics ::core::fmt::Display for #name #ty_generics #where_clause {
             fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::result::Result<(), ::core::fmt::Error> {
                 f.write_str(&format!("{:?}", self))
diff --git a/crates/router_derive/src/macros/api_error.rs b/crates/router_derive/src/macros/api_error.rs
index cdf14bbfdcc..56d59317cf4 100644
--- a/crates/router_derive/src/macros/api_error.rs
+++ b/crates/router_derive/src/macros/api_error.rs
@@ -47,8 +47,10 @@ pub(crate) fn api_error_derive_inner(ast: &DeriveInput) -> syn::Result<TokenStre
     );
 
     Ok(quote! {
+        #[automatically_derived]
         impl #impl_generics std::error::Error for #name #ty_generics #where_clause {}
 
+        #[automatically_derived]
         impl #impl_generics #name #ty_generics #where_clause {
             #error_type_fn
             #error_code_fn
@@ -226,6 +228,7 @@ fn implement_serialize(
         });
     }
     quote! {
+        #[automatically_derived]
         impl #impl_generics serde::Serialize for #enum_name #ty_generics #where_clause {
             fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
             where
diff --git a/crates/router_derive/src/macros/diesel.rs b/crates/router_derive/src/macros/diesel.rs
index 932d45b7f4d..b49b9ccc33c 100644
--- a/crates/router_derive/src/macros/diesel.rs
+++ b/crates/router_derive/src/macros/diesel.rs
@@ -20,6 +20,7 @@ pub(crate) fn diesel_enum_derive_inner(ast: &DeriveInput) -> syn::Result<TokenSt
         #[diesel(postgres_type(name = #type_name))]
         pub struct #struct_name;
 
+        #[automatically_derived]
         impl #impl_generics ::diesel::serialize::ToSql<#struct_name, ::diesel::pg::Pg> for #name #ty_generics
         #where_clause
         {
@@ -31,6 +32,7 @@ pub(crate) fn diesel_enum_derive_inner(ast: &DeriveInput) -> syn::Result<TokenSt
             }
         }
 
+        #[automatically_derived]
         impl #impl_generics ::diesel::deserialize::FromSql<#struct_name, ::diesel::pg::Pg> for #name #ty_generics
         #where_clause
         {
diff --git a/crates/router_derive/src/macros/operation.rs b/crates/router_derive/src/macros/operation.rs
index e234635aabc..798ee1525d2 100644
--- a/crates/router_derive/src/macros/operation.rs
+++ b/crates/router_derive/src/macros/operation.rs
@@ -50,6 +50,7 @@ impl Derives {
     ) -> TokenStream {
         let req_type = Conversion::get_req_type(self);
         quote! {
+            #[automatically_derived]
             impl<F:Send+Clone> Operation<F,#req_type> for #struct_name {
                 #(#fns)*
             }
@@ -63,6 +64,7 @@ impl Derives {
     ) -> TokenStream {
         let req_type = Conversion::get_req_type(self);
         quote! {
+            #[automatically_derived]
             impl<F:Send+Clone> Operation<F,#req_type> for &#struct_name {
                 #(#ref_fns)*
             }

## Motivation and Context
Closes #106 

## How did you test it?
Manual, compiler-guided

## Checklist
- [x] I formatted the code `cargo +nightly fmt`
- [x] I addressed lints thrown by `cargo clippy`
- [x] I reviewed submitted code
