Extract continue message sending to function
Fix query parameter handling for pre-signed multipart upload URLs

Fixes #587

Pre-signed requests pertaining to multipart uploads fail on user
account look-up and authentication signature calculation because the
query parameters such as Signature and AWSAccessKeyId are improperly
removed during URL rewriting. Change the rewriting rules so that these
query parameters are not removed and address holes in the unit test
coverage of the S3 URL rewrite module.
Support build_type and backend configuration options

Allow riak_test suites to be run using different backend
configurations and build types.  The backend options are using the
multi_backend in the standard RiakCS setup or the memory backend.  The
build type options are oss or ee and indicates whether an open-source
or enterprise version of Riak should be used for the test run.
Improve object listing performance and efficiency

When using Riak CS with Riak 1.4 or greater, we can take advantage of paginated
object listing. This allows us to no longer have to do list-keys on the entire
bucket and do a multi-get of all of the objects. This ends up being faster and
cause less load on the cluster. For backward compatibility, this is implemented
as a new FSM, `riak_cs_list_objects_fsm_v2`, which is only used if explicitly
set in the application. The default is false. This commit adds the option to
the `app.config`, so that it's easy for users to see the new flag. It can also
be set in the console like this:

`application:set_env(riak_cs, fold_objects_for_list_keys, true).`

Furthermore, the built in statistics for the new FSM can be seen by turning on
debug logging. This can be done just for the module like this:

`lager:trace_console([{module, riak_cs_list_objects_fsm_v2}], debug).`

There is an EQC test that is added for some pure, helper functions in the new
FSM. There is also a new `riak_test` test that runs the current list objects
test, but uses the new FSM.

* A bunch of duplicated effort in the two FSMs has been put into a shared
  module
* Whether or not to use the new or old FSM is abstracted by the helper module
* The full set of S3 list objects options are supported
Implement `data_size` in multibackend

Port of c582cadccd72208720b0d0f1379e56e2a1119c82 from riak_kv
Fix dialyzer warnings from riak_cs_list_objects_fsm_v2
Handle inclusion of continuations in 2i results
document libevent as a riak_test dep
Merge branch 'bugfix/presigned-request-authentication' into develop
Merge branch 'feature/riak_test_config_flexibility' into develop
Merge pull request #605 from basho/doc/libevent

document libevent as a riak_test dep
Merge pull request #580 from basho/feature/gc-daemon-dry-continue-messages

Extract continue message sending to function
Update to new 2i and CS fold responses
Fix riak_test failures as a result of httpc

This commit fixes riak_tests that fail due to erlcloud_s3 using httpc.
erlcloud was patched to use ibrowse instead of httpc and the following
changes support api changes required by erlcloud.

fix cs512_regression riak_test

fix object_get_test when using erlcloud_s3 with ibrowse

fix 3 more riak_test tests
Print empty twop sets in the GC bucket
bump erlcloud version to 0.4.2
Update repl_test based on ibrowse differences
Merge pull request #606 from basho/bugfix/erlcloud_ibrowse

Fix riak_test failures as a result of httpc
Use skip_deps=true for compile-riak-test Makefile target
Merge branch 'bugfix/skip-deps-rt-compile' into develop