AppUtils#getBaseDirectory: be a bit more defensive

It is a mistake when the user passes null for a classLocation, but
we still can be nice even then.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
AppUtils#getBaseDirectory: handle DOS-style paths

Oh well. And here I was, thinking that we lived in the 21st century.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
FileUtils#urlToFile: defensive programming

It is a mistake to pass null as argument, but it should result in the
obvious return value, not a NullPointerException.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>