Port RequestBody guard to an axum extractor
Summary:
Allows reading the request body as a string.
This is a port of 686e7d43403d for axum too, with common parts to the core crate.
The new type idiom is used to allow to implement traits in each crate.
Ref T2133
Test Plan:
- Tests for RequestBody structure migrated to core
- New tests for axum
Differential Revision: https://devcentral.nasqueron.org/D3716