Show appropriate warning when breathe_default_project isn't set

Only when we need it. We reschuffle the code so that we only look for
the default project if there is no project or path setting on the
directive.

Then we look and if it is empty we throw an exception which we catch and
convert to a warning.
Merge branch 'defaultProject'