Refer forked xmerl to avoid many undef exceptions thrown

The xmerl fork has change made by pull request on erlang/otp:
https://github.com/erlang/otp/pull/87 (already merged to maint and master)

Once Erlang/OTP is released, we don't need forked one any more.
At that time we will remove xmerl from deps and use one in OTP.
Remove xmerl from dialyzer apps

Since we're using a fork of xmerl, this prevents an error like:

```
==> riak_cs (dialyzer)

dialyzer: Could not merge PLTs since they are not disjoint
The following files are included in more than one PLTs:
["xmerl.beam","xmerl_b64Bin.beam","xmerl_b64Bin_scan.beam",
 "xmerl_eventp.beam","xmerl_html.beam","xmerl_lib.beam","xmerl_otpsgml.beam",
 "xmerl_regexp.beam","xmerl_sax_old_dom.beam","xmerl_sax_parser.beam",
 "xmerl_sax_parser_latin1.beam","xmerl_sax_parser_list.beam",
 "xmerl_sax_parser_utf16be.beam","xmerl_sax_parser_utf16le.beam",
 "xmerl_sax_parser_utf8.beam","xmerl_sax_simple_dom.beam","xmerl_scan.beam",
 "xmerl_sgml.beam","xmerl_simple.beam","xmerl_text.beam","xmerl_ucs.beam",
 "xmerl_uri.beam","xmerl_validate.beam","xmerl_xlate.beam","xmerl_xml.beam",
 "xmerl_xpath.beam","xmerl_xpath_lib.beam","xmerl_xpath_parse.beam",
 "xmerl_xpath_pred.beam","xmerl_xpath_scan.beam","xmerl_xs.beam",
 "xmerl_xsd.beam","xmerl_xsd_type.beam"]

make: *** [dialyzer] Error 1
```

You will likely need to `make cleanplt` in order to rebuild the PLT.
Merge pull request #848 from basho/feature/xmerl-avoid-undef-rebased

Feature/xmerl avoid undef rebased

Reviewed-by: kuenishi,kuenishi
reorganize cli tools and introduce riak-cs-admin
Ensure no mp uploads remaining in bucket creation and deletion

There was a security issue that flaws remaining multipart uploads,
where an newly created bucket may include unaborted or uncompleted
multipart uploads which was created in previous epoch of the bucket
with same name. This commit fixes it by:

- on creating buckets;
  - check if live multipart exists
  - if exists, return 500 failure to client
- on deleting buckets;
  - try to clean up all live multipart remains
  - check if live multipart remains (in stanchion)
  - if exists, return 409 failure to client

- after upgrading from 1.4.x (or former) to 1.5.0;
  - run `riak_cs_console:cleanup_orphan_multipart/0` or
    `riak_cs_console:cleanup_orphan_multipart/1` in an
    attached console to cleanup all buckets
  - there might be a time period until above cleanup
    finished, where no client can create bucket if
    unfinished multipart upload remains under deleted
    bucket. You can find [critical] log if such bucket
    creation is attempted.

This commit also inclues:
- cut out bucket related operations from riak_cs_utils to riak_cs_bucket
- riak_test (riak_cs_buckets_test) to check bucket related tests
Merge pull request #857 from basho/bugfix/cs475-check-mpuploads-squashed-rebased

Ensure no mp uploads remaining in bucket creation and deletion

Reviewed-by: shino
Merge pull request #839 from basho/feature/reorganize-cli-tools

reorganize cli tools and introduce riak-cs-admin

Reviewed-by: kuenishi
handle tombstones and undefined manifest props
not repeating ourselves, add a log line