Add version ranges to gem dependencies

Lean on semantic versioning constraints to allow us to confidently update dependencies.