ARROW-10445: [Rust] Added doubleEnded iterator to PrimitiveArrayIter
ARROW-10445: [Rust] Added doubleEnded iterator to PrimitiveArrayIter

This puts it in line with `array::NullIter`. This PR is complementary to #8561 (which removes `NullIter`), so that the PrimitiveArrayIterator can be reversed in the same way `NullIter` can. Together with #8561, it re-allows Dictionary keys to be iterated backwards.

Closes #8562 from jorgecarleitao/double_ended

Authored-by: Jorge C. Leitao <dfffc62510208f06492f17a48dc6ce87aa15abf6@gmail.com>
Signed-off-by: Neville Dipale <4e1ab218b24f06847d563ff3773c7517c139f863@gmail.com>

cpcloud/arrow,xhochy/arrow,icexelloss/arrow,icexelloss/arrow,laurentgo/arrow,kou/arrow,kou/arrow,laurentgo/arrow,wesm/arrow,apache/arrow,laurentgo/arrow,kou/arrow,xhochy/arrow,cpcloud/arrow,kou/arrow,cpcloud/arrow,kou/arrow,apache/arrow,wesm/arrow,wesm/arrow,cpcloud/arrow,xhochy/arrow,laurentgo/arrow,xhochy/arrow,kou/arrow,xhochy/arrow,kou/arrow,xhochy/arrow,laurentgo/arrow,laurentgo/arrow,laurentgo/arrow,icexelloss/arrow,xhochy/arrow,icexelloss/arrow,wesm/arrow,cpcloud/arrow,apache/arrow,icexelloss/arrow,xhochy/arrow,icexelloss/arrow,laurentgo/arrow,icexelloss/arrow,icexelloss/arrow,apache/arrow,apache/arrow,wesm/arrow,cpcloud/arrow,wesm/arrow,xhochy/arrow,xhochy/arrow,kou/arrow,wesm/arrow,xhochy/arrow,cpcloud/arrow,laurentgo/arrow,apache/arrow,xhochy/arrow,apache/arrow,wesm/arrow,icexelloss/arrow,icexelloss/arrow,apache/arrow,wesm/arrow,wesm/arrow,xhochy/arrow,kou/arrow,xhochy/arrow,kou/arrow,apache/arrow,icexelloss/arrow,cpcloud/arrow,cpcloud/arrow,apache/arrow,icexelloss/arrow,wesm/arrow,kou/arrow,xhochy/arrow,laurentgo/arrow,cpcloud/arrow,laurentgo/arrow,kou/arrow,apache/arrow,icexelloss/arrow,apache/arrow,laurentgo/arrow,wesm/arrow,apache/arrow,cpcloud/arrow,wesm/arrow,laurentgo/arrow,wesm/arrow,laurentgo/arrow,icexelloss/arrow,cpcloud/arrow,apache/arrow,kou/arrow,kou/arrow,cpcloud/arrow,laurentgo/arrow,cpcloud/arrow