Update touch signature

* Changed `Message` to `*Message` because we need to update `ReservationId`. If it's not good idea, I will change it back.
could we just return the new reservation_id ? I'm fine with using a message internally to get it but I think the output message will be weird and unexpected (empty body, id, etc.) and we shouldn't return it. 

```go
func (q Queue) TouchMessage(msgId, reservationId string) (string, error)
```

is what i'm thinking.

also, while you're here, could you add an int for timeout? touch takes an optional timeout in the body now, too. 2 methods seems reasonable, one for touching with timeout, the other to not (so we don't break signatures).