Use RUBYLIB instead of RUBYOPT to add the bundle lib path to ruby $LOAD_PATH.

This allows `bundle exec` to be run when the bundler gem is at a path that includes spaces (which is pretty common in windows environments).
Raise user friendly errors in case of Cyclic Dependency

Fixes #2506
Changed cyclic dependency error message

Also change raise code to be inline with current
convention.
Extract error message from TSort::Cyclic and print

Also updated test case to include check on error message
Remove unnecessary quotes around bundler lib path. 

As suggested by gnufied.
Improve RUBYLIB example in exec spec.
Extract the mutually dependent gems from error message

On MRI and Ruby 1.9 error message pattern looks very
different from what we see on JRuby and other versions of
Ruby.
Merge pull request #2536 from equinux/master

Use RUBYLIB instead of RUBYOPT to add bundle lib path to ruby $LOAD_PATH.
Use double instead of mock to avoid spec warnings
clarify circular language
Merge pull request #2570 from kirs/no-warnings

Use double instead of mock to avoid spec warnings
Merge pull request #2564 from bundler/detect-cyclic-dependency

Raise user friendly errors in case of Cyclic Dependency