Better way of checking for group permissions.

So this particular problem was a rather interesting one that took a few
frustrating hours of debugging to figure out what the hell was going on.

Lets start with an example. Consider you have the directory /tmp/foo with the
user set to "root" and the group to "rvm" while you're logged in as "alice". On
MRI method calls such as `File.writable?` would correctly indicate that Ruby
could write data to this directory/path. On Rubinius however this would not be
the case. As a result this in my case prevented RVM from installing Gems since
RubyGems would think it couldn't write to the Gems directory (even though it
actually could).

The cause of the problem is as follows: when checking for group ownership
Rubinius would only check if the primary group had write access instead of
taking all the user's groups into account.
Specs for taking different groups into account.

These specs test the changes made to take non primary user groups into account
when calling Rubinius::Stat#grpowned?.
Merge pull request #2555 from rubinius/file-permissions

Better way of checking for group permissions.