This implements an option to emit `Arc<Self>` instead of `&self` in
server traits. This enables implementor to reference `Self` data for
indefinite duration, which may be useful for streaming requests.
Fixes: #1351
* feat(core): Default encoding/decoding limits
This PR adds new defaults for both client and server max
encoding/decoding message size limits. By default, the max message
decoding size is `4MB` and the max message encoding size is
`usize::MAX`.
This is follow up work from https://github.com/hyperium/tonic/pull/1274
BREAKING: Default max message encoding/decoding limits
* update generated code