Lucyw/empty version

My colleague noticed that if you gem install from the command line but don't include a version, it is still run with -v (because empty strings in ruby return true), and gem install -v without a version errors out.  All I did was added an "if version.length > 0" to the gem install process (the if...else was already in place), and a test to make sure that it still worked.  Let me know if anything else needs to be modified!  
I usually see the `instance_variable_set(:@version, '')` approach in specs and think its a little more precise in meaning than the instance_eval.

but that raises a bigger question as to why you need to protect this when the resource's validation should ensure that `@version` is never an empty string?  i think i'm just missing a bit of information about the motivation for the patch.