ARROW-4489: [Rust] PrimitiveArray.value_slice performs bounds checking when it should not
ARROW-4489: [Rust] PrimitiveArray.value_slice performs bounds checking when it should not

If you run the following test it will fail:
```rust
    #[test]
    fn test_value_slice() {
        let arr = Int32Array::from(vec![2, 3, 4]);
        let _slice = arr.value_slice(0, 4);
    }
```
When working with SIMD I plan to rely on the fact that we have buffers padded to a multiple of 64 bytes.  This makes the implementation easier to maintain and more efficient.  However, it involves reading and writing to the padded region.

Author: Paddy Horan <paddyhoran@hotmail.com>

Closes #3569 from paddyhoran/value_slice_fix and squashes the following commits:

5f93b76b <Paddy Horan> Added test for no bounds checking.
5340a01f <Paddy Horan> Removed bounds checking on `value_slice`

kou/arrow,icexelloss/arrow,laurentgo/arrow,apache/arrow,itaiin/arrow,itaiin/arrow,xhochy/arrow,apache/arrow,itaiin/arrow,apache/arrow,majetideepak/arrow,cpcloud/arrow,cpcloud/arrow,apache/arrow,kou/arrow,renesugar/arrow,tebeka/arrow,xhochy/arrow,kou/arrow,cpcloud/arrow,laurentgo/arrow,itaiin/arrow,renesugar/arrow,majetideepak/arrow,xhochy/arrow,cpcloud/arrow,xhochy/arrow,laurentgo/arrow,xhochy/arrow,majetideepak/arrow,tebeka/arrow,apache/arrow,cpcloud/arrow,majetideepak/arrow,icexelloss/arrow,icexelloss/arrow,wesm/arrow,kou/arrow,apache/arrow,renesugar/arrow,renesugar/arrow,kou/arrow,wesm/arrow,icexelloss/arrow,majetideepak/arrow,renesugar/arrow,icexelloss/arrow,laurentgo/arrow,cpcloud/arrow,icexelloss/arrow,xhochy/arrow,renesugar/arrow,itaiin/arrow,renesugar/arrow,cpcloud/arrow,itaiin/arrow,xhochy/arrow,xhochy/arrow,majetideepak/arrow,icexelloss/arrow,icexelloss/arrow,xhochy/arrow,xhochy/arrow,icexelloss/arrow,itaiin/arrow,tebeka/arrow,kou/arrow,xhochy/arrow,apache/arrow,renesugar/arrow,wesm/arrow,xhochy/arrow,tebeka/arrow,apache/arrow,majetideepak/arrow,renesugar/arrow,cpcloud/arrow,majetideepak/arrow,cpcloud/arrow,wesm/arrow,kou/arrow,majetideepak/arrow,renesugar/arrow,wesm/arrow,laurentgo/arrow,itaiin/arrow,wesm/arrow,itaiin/arrow,majetideepak/arrow,xhochy/arrow,laurentgo/arrow,laurentgo/arrow,cpcloud/arrow,apache/arrow,kou/arrow,majetideepak/arrow,wesm/arrow,tebeka/arrow,laurentgo/arrow,icexelloss/arrow,laurentgo/arrow,majetideepak/arrow,tebeka/arrow,wesm/arrow,itaiin/arrow,apache/arrow,majetideepak/arrow,cpcloud/arrow,kou/arrow,laurentgo/arrow,wesm/arrow,laurentgo/arrow,itaiin/arrow,wesm/arrow,icexelloss/arrow,laurentgo/arrow,laurentgo/arrow,icexelloss/arrow,renesugar/arrow,laurentgo/arrow,renesugar/arrow,renesugar/arrow,kou/arrow,kou/arrow,tebeka/arrow,wesm/arrow,apache/arrow,renesugar/arrow,cpcloud/arrow,apache/arrow,apache/arrow,laurentgo/arrow,tebeka/arrow,xhochy/arrow,majetideepak/arrow,cpcloud/arrow,kou/arrow,apache/arrow,wesm/arrow,tebeka/arrow,cpcloud/arrow,kou/arrow,itaiin/arrow,wesm/arrow,xhochy/arrow,tebeka/arrow,itaiin/arrow,kou/arrow,wesm/arrow,itaiin/arrow,itaiin/arrow,majetideepak/arrow,renesugar/arrow,icexelloss/arrow,icexelloss/arrow