Handle Errors in a more reasonable manner.

This is an alternate pr for #57 (github won't allow multiple PRs per issue).

The goal here is to allow writes to occur in KV, even if YZ has a problem indexing. This can happen for many reasons, such as a failing extractor (eg. json that is unparseable), or errors other than 200 returned from solr. Rather than crashing, we instead allow the write to complete on the KV side, attempt to index, and any failing indexes are flagged with a `_yz_err` field. This allows a user to search for values that failed to index for whatever reason (the true reason will be logged).