Handle rebar dependencies better

Download dependencies specified in rebar.config and go through Converger to handle conflicts. Handle `sub_dirs` in rebar.config when getting dependencies and by the sub_dirs to the code load path.

Closes #903.