Add tests for Store.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Really make Store directory set-gid.

On Linux and other SysV-like systems, setting a directory set-gid means that
when a file is created within it, the group is that of the directory, not
the effective group ID of the process.  However, Linux refuses to create a
directory set-gid, so we have to change the permissions after creating it.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Make Store use File.join.

File.join is more portable and cleaner than embedding slashes into a string.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>