basho/yokozuna — pull request #385 by rzezeski (2014-05-19 16:39:28+00:00)
Title: Fix deletion for many-to-one indexing

Fixes #376.

It is possible to point multiple types and buckets to the same index.
The object key alone is not a unique identifier as the same key could
be repeated across types and buckets.

This patch fixes the deletion code to delete on the actual unique key
which is type + bucket + key. Other changes made include:

* Expand the essential test to verify deletion and sibling cleanup
work correctly when using the same key across multiple types and
buckets. Add unicode and special chars to additional verification.

* Update the AAE test to to pass the full key when making remote call
to `yz_solr:delete`.

* Use the ?DEFAULT_TYPE macro in case the default type is changed
before 2.0.0.

* Change `yz_rt:random_keys` to return binary keys.

* Handle legacy objects (pre 2.0.0) in `encode_delete`.

* Make sure to pass the lager transform when compiling the Yokozuna
driver and make the `build_bb_driver` function more robust in
general.