Use proper dedicated *Options struct instead of ListOptions assignments

We often define new `Options struct types that don't have any fields except pagination as:

type *Options ListOptions

For example:

type *ListSnippetsOptions ListOptions

This has been a recurring reason for breaking change, because when the API gains a field we have to introduce a breaking change like this:

type *Options struct {
    ListOptions
    NewField `json:"..."`
}

Proposal

Change all of these ListOptions type assignments to embeddings of ListOptions, like so:

type *Options struct {
    ListOptions
}

This allows for non-breaking extensibility.