Added support unmarshal null values into pointers.

Hi! I added support null values for fields with pointers.

For example:
```cql
CREATE TABLE mytable(id UUID, value string, PRIMARY KEY(id));
INSERT INTO mytable(id, value) VALUES(timeuuid(), null);
```

```go
var value *string
gocqlSession.Query("select value from mytable").Scan(&value)
```
As discussed previously in this pull request, we should first test for the Unmarshaler interface and then for nil, rather than the way that you currently have it.