Reduce TIME-WAIT load

A combination of ibrowse's inefficient load balancing algorithm and
default socket inactivity timeout of 10 seconds can cause TIME-WAIT
load.  It becomes worse as the pool size of pipeline sizes are
increased.  This patch is a temporary workaround to reduce socket
churn and thus TIME-WAIT load.  It does so by increasing the
inactivity timeout to 600 seconds across the board.  Below is a chart
of showing the amount of socket churn in connections per minute for
the different timeout values both at idle and while under load from
basho bench.  These numbers were calculated by a DTrace script which
counted the number of new connections being accepted on port 8093.

| Timeout | Socket Churn At Idle | Socket Churn Under Load |
|---------|----------------------|-------------------------|
| 10s     | ~59 conns/min        | ~29 conns/min           |
| 600s    | ~9 conns/min         | ~6 conns/min            |

The timeout is set via application env because ibrowse has the
absolute most complex configuration management code I have ever seen
and this was the easiest way to make sure the timeout is set
correctly.  This is just a workaround until after 2.0 when other HTTP
clients and pools may be tested.  ibrowse seems to have many issues,
this is but just one.

For more background see the following issues:

https://github.com/basho/yokozuna/issues/367
https://github.com/basho/yokozuna/pull/358
https://github.com/basho/yokozuna/issues/330
https://github.com/basho/yokozuna/issues/320
Fix deletion for many-to-one indexing

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.
Merge pull request #375 from basho/rz/time-wait-load

Reduce TIME-WAIT load

Reviewed-by: coderoshi
Merge pull request #385 from basho/bugfix/376

Fix deletion for many-to-one indexing

Reviewed-by: coderoshi