Add ability to handle identical siblings in rt:systest_read

Add optional parameter to rt:systest_read that provides the ability to
compare siblings and treat those with identical values and metadata
excluding the dot as a single value for the purposes of testing.

This is to facilitate testing with DVV enabled since there are several
known cases where use of DVV leads to siblings created internally by
Riak. One example of such a case is a write during handoff that is
forwarded by the vnode, but also executed locally.

The existing behavior of rt:systest_read is to fail when any siblings
are encountered with a badmatch. This behavior is maintained as the
default so existing tests maintain their current semantics without
explicit change.
Do sibling comparison in a module function rather than anonymous function
Update calls to rt:systest_read to handle identical siblings

Update the calls to rt:systest_read in repl_util and
repl_aae_fullsync_util to treat identical siblings resulting from the
use of DVV as a single value.  These changes are specifically to
address failures seen in the repl_aae_fullsync_custom_n and
replication_object_reformat tests, but should be generally useful for
replication tests using the utility modules that and that have
allow_mult set to true.
Add handling of errors in rt:index_built_fun

AAE fullsync tests can encounter {error, wrong_node} messages
resulting from rpc calls to riak_kv_vnode:hashtree_pid. Add handling
of error responses to rt:index_built_fun.
Merge branch 'feature/systest-read-sibling-handling'
Merge branch 'feature/update-repl-systest-read-use'