* Pin cuttlefish rebar3 branch
* No shallow clone for rebar3
* Replace timer:sleep with receive after for deterministic
* Build with only rebar3
* bbmustache as a test dependency
* Change to plain deps
* Use shallow clone by default
* Add ct-helpers as test dep
* Rebar3 and erlang.mk dual support.
There was only erlang.mk support prior to this change.
The main reasons for this dual support are:
* Cover report upload can only be done by rebar3 in travis.ci
* We want to prepare for the future to build emqx releases using rebar3
* We do not want to stop supporting erlang.mk in one single step
* Add depencency version consistency check between erlang.mk and rebar.config