Fix recursion (#56)

Always-on recursive application of all rebar commands causes too many issues. Recursive application is required for:
1. dealing with dependencies: get-deps, update-deps, compile of deps right after get-deps or update-deps
2. projects with a riak-like apps/ project structure

The vast majority of projects are not structured riak like. Therefore, moving forward it's best to by default restrict recursive application to dealing with deps. This branch does that and also adds command line rebar.config options to control or configure recursion. Also, we introduce a new meta command 'prepare-deps' which is equivalent to 'rebar -r get-deps compile'. riak like projects can extend the list of recursive commands (to include 'eunit' and 'compile') by adding `{recursive_cmds, [eunit, compile]}.` to rebar.config.