Make homedir permissions check optional
Not sufficient to drop bad options; good ones need to be passed through.

This code was broken: Half of it required `options` to be a string, and the
other half required `options` to be a list (which the tests enforced, but the
constructor would silently drop for normal-path initialization).