Implement helper method to get char* buffer from Python objects
- [x] closes N/A
- [x] tests added - `test_parsers_iso8601_leading_space`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

This is a follow-up PR for #25754 which adds a utility method for getting internal `char *` buffer from `unicode` or `bytes` Python object and switch at least some of usages to it.

Its advantages over what is built-in in Cython is saving at least one extra memory allocation (Cython internally calls Python C API that creates a new `char *` copy which is not needed for most `unicode` objects which are internally stored in `utf8` encoding), and it also obtains the length in one call.

cc @jbrockmendel 