Remove tf.roll wherever not needed
It was used in shift_right.
After this change TF code is more similar to Pytorch implementations
Also, TF graphs are optimized (one node less)

# What does this PR do?

This change optimizes TF graphs and code without modifying the math. 

Using roll is not necessary (probably most accelerators implement it as Slice + Concat).

## Who can review?

@patrickvonplaten, @LysandreJik
@szutenberg Thanks for this PR! The changes look good - is there anything else you want to edit, or are you happy for us to merge it as is?<|||||>Hi @Rocketknight1 , 

Thanks for the review. The change is ready for merge as it is.

Could you have a look at: https://github.com/huggingface/transformers/pull/12332 ? It resolves issues with bf16. We can fix fp16 in a separate PR (I didn't have time to debug it but gave some hints in comments and I think that starting from debugging the inference graph would be a good idea).