rbenv has a special exec function which loads the correct ruby version before executing a command.
The syntax for this is `/usr/local/rbenv/bin/rbenv exec gem ...` for example.
But previously when specifying executable='/usr/local/rbenv/bin/rbenv exec gem' this would not work because the string was treated as one executable. This PR fixes that by splitting the executable on spaces.
The docs for 'gem' say state is required, but the actual code says it's not required.
If it's not included (and there's no default) then the if block falls through with no changes and no errors (it neither adds nor removes the gem).
This change synchronizes the docs with the code. It also adds the sane default of state=present, which is consistent with all other modules with the 'state' field.