Support for passing a struct to a document instead of map[string]interface{}

That's actually the thrust of my comment on `BulkSend` - seems like before this PR, not setting `Fields` to anything would result in it just indexing an empty map. The `toMarshal` check causes that document to be skipped entirely if `len(d.Fields) == 0`, correct?