Add a mean to get an index, allowing iterations of the queue.

With this change, one can iterate over the queue:

```go
for i := 0; i < q.Length(); i++ {
	if q.Get(i).(int) != i {
		t.Errorf("index %d doesn't contain %d", i, i)
	}
}
```

Tests output:

```
$ go test -v 
=== RUN TestQueueLength
--- PASS: TestQueueLength (0.00 seconds)
=== RUN TestQueueGet
--- PASS: TestQueueGet (0.01 seconds)
=== RUN TestQueueGetOORPanic
--- PASS: TestQueueGetOORPanic (0.00 seconds)
	queue_test.go:51: got panic as expected: index out of range
	queue_test.go:65: got panic as expected: index out of range
PASS
ok  	github.com/eapache/queue	0.022s
```
I know it only shows up twice now, but if I add bounds checks to all the other calls then it will show up more, so this func() and defer boilerplate should perhaps be extracted to a helper function.