Binary API: Refine algorithm to determine if item refers to binary data.

In the initial creation of binary_index(), I wasn't sure which meta-data
fields would always be present in the corresponding simperium bucket item.
The first version thus naively tested if 'backend' == 'AWS'.

Now, binary_index() checks for the presence of several fields which
should always be stored regardless of the backend settings, it checks
if the hash is _plausible_, meaning that it's a valid hex string and
the appropriate length, and it checks if the signature is plausible.

Note that in extremely rare cases this new binary_index() could return
false positives and identify items as storing references to binary data
when in fact they don't. This scenario is only possible, however, when
a top-level key in the item dict stores an array with the appropriate
conditions listed in the above paragraph.