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

This pull request should allow reading the fields of a document from a struct.