Prevent `default-directory` being set to nil

if the project directory cannot be determined for the current file then
this or condition was falling through and resulting in
`default-directory` being set to nil.

This causes all kinds of unreasonable behaviour (including Emacs
requiring force quit on OSX 10.9 when tested)

To prevent this we will use the existing `default-directory` as the last
test so that it will never be set to nil.

This may still cause obscure test failures as running your tests from an
odd directory may cause ruby to be unable to find required files.

This behaviour is preferable to Emacs requiring a `kill -9` and the new
bahaviour combined with f8379e0 should cause that to not be an issue for
most people.