Handle {error, Reason} in make_doc/index

The `yz_doc:extract_fields` function can return `{error, any()}` yet `make_doc` assumes success.  This would blow up on the call to `lists:append` which would bubble to `yz_kv:index` which at that point is outside the try/catch and would crash vnode.  This is a sign of some sloppiness on my part in thinking about error handling during indexing.

The entire code path from the KV vnode call of `yz_kv:index` to its return should be gone over to check for common error conditions that might arise do to user input and decide how to deal with them.