Add riak_test for 781
EQC properties for listing all objects

- Two EQC properties for listing objects (GET Bucket),
  one without delimiter and one with delimiter "/".
  Those properties assert following two are equal:
  1. keys from listing objects by repetitive usage of
     riak_cs_list_objects_fsm_v2
  2. active keys from generated [{State, Key},...]

- When counterexample is found, states and keys are
  written to file $PWD/.riak_cs_list_objects_fsm_v2_eqc.txt.
  Each line consists of line number, status and key.
  Example output:

    1,active,0123456/10
    2,scheduled_delete,0123456/1000

- To generate manifests, generator of whole manifests is avoided
  and generate only states and keys of manifests.
  The property list-all-objects generates several thousands of nested tuples,
  #lfs_manifest_v3 and #acl_v2 in this case.
  But generators of nested tuples seem not so fast.

TODOs remaining
- prefix of request parameter
- non-default max-keys
Smaller EQC test constants

Clean up the list objects EQC test and start threading the 2i request
page size through spawn_link of the FSM. This allows us to test with
constants far below 1002. 1002 is a nice size for production 2i queries,
but is terrible for getting good shrinks out of QuickCheck.
Fix list objects v2 bug

Don't slice the result-set until `enough_results` has been determined.
NextMarker support

Update the list objects FSM and EQC test to support the 'NextMarker' XML
node. This is used when a `delimiter` is included in a request. The
client uses this node to page through the next request, as opposed to
simply using the last `Key` in the contents.
Refactor
Add flavor for prefix generator
Fix list objects edge-case

Only use the `skip_past_prefix_and_delimiter` trick if the common
delimiter is already in the result-set. It will _not_ be in the
result-set if the sole object which 'created' it is not in the `active`
state.
Update .gitignore
Update type specification
Refactor repeated expression
Add docstring and type specification
Merge pull request #788 from basho/feature/list-objects-eqc-addition-squashed-reid-squashed

List objects FSM v2 bugfix and tests
Handle well-indented XML including comments

The root cause for #782 was misuse of xmerl_scan:string/2,
which doesn't emit spaces, comments between actual xml elements.
It leaves them as #xmlText{} and #xmlComment{} - This commit
changes to ignore them at walking around parsed dom tree. This
diffset also includes a small refactoring that wraps all
xmerl_scan:string/2 to one riak_cs_xml funcsion to control its
usage.

This also adds regression test as simple eunit test case.

Conflicts:
	src/riak_cs_acl_utils.erl
	src/riak_cs_s3_response.erl
Improve access log handler to handle HEAD method.
- Fix access_log_handler to filter out ByteOut on Head request.
bump erlcloud version to 0.4.4
Merge pull request #791 from basho/bugfix/handling-head-request-on-access-log-handler

Improve access log handler to handle HEAD method.
Merge pull request #795 from basho/bugfix/gh782-acl-xml-format-1.4

Handle well-indented XML including comments