Refactor Execute and ExecuteAsync

Move to `RestHelpers` since they're shared between `RestClient` and `RestClientBase`