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
```
From the godoc: `The queue implemented here is as fast as it is for two additional reasons: it is *not* thread-safe, and it intentionally does not follow go best-practices regarding errors - if you make a mistake with this queue (such as trying to remove an element from an empty queue) then who knows what will happen.`

As such, I'm tempted to request you remove the panic, but I know that goes against the grain...