Add package-level error ErrNoMessages, returned when no more messages are present in the current queue

Hello!  I noticed there was a little bit of error duplication in the `mq` package, so I added a package-level error, for easier error-checking.  This allows for the following:

```go
for {
    // Get a message from the queue
    msg, err := queue.Get()
    if err == mq.ErrNoMessages {
        // Break loop on no messages
        break
    }

    // Check for other errors
    if err != nil && err != mq.ErrNoMessages {
        // Error is something unexpected
        log.Fatalf(err)
    }
}
```

Thanks for your time, and I look forward to digging in to IronMQ further!