fix riak_kv_backend standard tests

The riak_kv_backend standard tests, which are invoked by riak backend
tests, were not actually testing anything. The standard_test/2 function was
coded as an eunit test generator but it was returning functions that
themselves were returning lists of test generators. Unfortunately eunit
won't work through that many levels of test generator indirection so the
tests weren't actually running.

Change the standard tests to use regular assertMatch rather than the test
generator form _assertMatch so that the tests actually run. Due to
bitcask's use of the process dictionary, add the local test directive to
the top test spec to execute the tests in the same process where the
backend initialization function runs. Fix one of the fold_keys tests to
expect the correct result. Change all the delete/3 calls to delete/4 calls,
as that's what backends now implement. Modify the memory backend test setup
to ensure its ets tables are created appropriately for testing.
Merge pull request #608 from basho/sbv-fix-backend-tests

fix riak_kv_backend standard tests