make Transport field optional

This makes it more convenient to construct usable
Transports without the helper functions. For example,
in the simple case, the user can do

```go
t := &httpcache.Transport{Cache: whatever}
```

If there were a variable DefaultCache in the package,
even field Cache could be optional. Then the zero value
for Transport would be a usable transport. :cake: