Displays the previous version of the gem when run bundle update

Change code in the 3 source files to display the method locked_gems in
lib/bundler.rb

Add 3 Rspec test in the update directory for each source: rubygems, git,
path.
Put old version message in the  block level

Change bundle update message format

Change rspec bundle update message text to match in files (rubygem, git, path
source, etc)
fix raising error when path contains unexisting users home dir
Added the message 'Could not locate Gemfile' to the GemfileNotFound exception raised by Bundler::Settings#[]=.
By doing this, users who just run 'bundle' in the wrong directory will see a friendly message instead of just "Bundle::GemfileNotFound".
[WIP] Iterative algorithm for bundler resolve
Handled Cyclic dependcies errors correctly
If no version is found for the current gem and its not a root level requirement then try different version gem of its parent
Fixed a bug where backtracking didn't work correctly
Added a fix for multiple level conflict resolution
Added a fix to handle conflict on a child with specs
Added a fix to handle when no state are found for the current parent
Added debug statements
Removed uneeded code
Added comments for better understanding few of the methods
Added a fix to raise version_conflict if a children dependency is not resolved
Delegate the responsiblity of raising version_conflict error to resolve_for_conflict method
Refactored duplicate code by puting it into a method
Print out the depedency tree in case of version_conflict in a child dependency
Rename the method to dependency_tree instead of print_dependency_tree
Add 'bundle update --group' option