Bug fixes and improvements for deps handling

Allow deps to specify a force_version option to indicate that
subsequent deps specifications for the same application should be
ignored. This is helpful for a number of situations such as being able
to test the interaction of different versions of a subset of deps
without having to do a lot of work to edit nested rebar.config
files. This change set also resolves a few bugs dealing with vcs
version determination and does some refactoring of enormous functions
to at least be slightly smaller.
Remove function dealing with expanded release version

Conflating vcs versions with Erlang release versions is not a good
idea. This may have gone unnoticed for some time since the vcs version
detection has been broken and only the Erlang release version has been
used. Remove the functions dealing with expanding the release version
and use the version as specified in the reltool configuration.