Update guidance on Gemfiles

This tweaks the guidance on managing a Gemfile to cover the use cases for exact and pessimistic version locking. It also adds guidance around using unreleased gems from a git repo.