Is it a bug in rotary embedding implementation?
**Describe the bug**

The figure below is how rotary embedding is applied to a query vector as described in the RoFormer paper, but the current implementation in NeMo seems not implementing this formula. Specifically in the [`_rotate_half` function](https://github.com/NVIDIA/NeMo/blob/82044837a7bcfa1cfd3a91f6b0014e052bdfcaf0/nemo/collections/nlp/modules/common/megatron/position_embedding/rotary_position_embedding.py#L39-L47), for an input `[A, B, C, D] -> [-C, -D, A, B]`, shouldn't  the output be `[-B, A, -D, C]` instead (as the [RoFormer](https://github.com/huggingface/transformers/blob/8e164c5400b7b413c7b8fb32e35132001effc970/src/transformers/models/roformer/modeling_roformer.py#L328-L331) implemented in the Transformers library)? 

![image](https://github.com/NVIDIA/NeMo/assets/4978794/9344e805-793d-4e9b-bd3d-30da9a98abac)
