Add Iter.Next() method

When you retrieve all results from Iter into a slice with gocql, you may write some codes like
```go
iter := session.Query(`SELECT id, text FROM tweet `).Iter()
for {
	t := &tweet{}
	if iter.Scan(&t.id, &t.text) {
		list = append(list, t)
	} else {
		break
	}
}
```
or 
```go
iter := session.Query(`SELECT id, text FROM tweet `).Iter()
for {
	if t := NewTweet(); iter.Scan(&t.id, &t.text) {
		list = append(list, t)
	} else {
		break
	}
}
```
or
```go
iter := session.Query(`SELECT id, text FROM tweet `).Iter()
for t := NewTweet(); iter.Scan(&t.id, &t.text); t = NewTweet() {
	list = append(list, t)
}
```
But IMHO they are not very idiomic (in particular 'else & break').

I'd like to handle them in a little more idiomic way with ``Iter.Next()`` method like ``database/sql`` does.

```go
iter := session.Query(`SELECT id, text FROM tweet `).Iter()
for iter.Next() {
	t := NewTweet()
	if iter.Scan(&t.id, &t.text) {
		list = append(list, t)
	}
}
```

I don't know if ``Iter.Next()`` method's a good idea for ``gocql``.
Could you please review this proposition?

Thanks.