Use tools.mk Makefile
Merge pull request #74 from basho/feature/tools.mk

Use tools.mk Makefile
Bump lager dependency to 2.0.3
Add checking just before creating bucket, ensuring no mp upload is alive

If bucket is not empty and includes unaborted multipart upload, then
stanchion returns 409 with message, expecting Riak CS retries after
deleting all unaborted multipart upload.

This commit prohibits creating bucket if unaborted multipart upload
exists. Former version than 1.4.x has this bug and if there already
exists such buckets, Riak CS is supposed to include a cleanup script
to fix such buckets. Note that that script won't do any mutual
exclusion, thus after upgrading from 1.4.x to 1.5.0, operators should
run that script to enable re-creating those buckets.

Another few trivial fixes:
- future work is to remove list_keys runs twice in checking
- get rid of if clause in stanchion_utils:bucket_availabe/4
- and fixed some logic bucs
- dialyzer is our friend
Merge pull request #78 from basho/bugfix/cs475-check-mpuploads-squashed

Add checking just before creating bucket, ensuring no mp upload is alive
Merge pull request #75 from basho/feature/lager-2.0.3

Bump lager dependency to 2.0.3
Fix license type and description

This commit also...
- updates tools.mk and
- adds some configurations of xref/dialyzer, imcomplete but better than nothing
Merge pull request #79 from basho/bugfix/package-license

Fix license type and description
Add container ID to parameters of creating bucket
Change the term "container" to "bag"

A bag represent a set of riak clusters which are related via MDC repl.
The reason of this change is because the term "container" is used
in Swift.
Don't include bag metadata when request does not have bag information
Refactor types and specs