Incorrect files can create empty top-level dirs.

Don't create a new project from `newInstance()` in
`VOrionWorkspaceStorage`; instead return a storage obj
that will always return `false` for `exists()`.  Fixes
situation where an invalid URL could create empty projects
in the Orion workspace.
Override mkdir(), mkdirs() and createNewFile() in the
VOrionProjectStorage and VOrionWorkspaceStorage classes,
to provide more sensible results and prevent unwanted
behaviour.
Don't always create a dir in VOrionProjectStorage.
General cleanup.
Fixes #3342
Cleanup unnecessary code.
Remove unnecessary code.

`createProject()` will also call `this.get(name)`, so no
reason to do it at beginning of `create()`.