[STORM-239] Allow supervisor to operate in paths with spaces in them

Works around a bug in path-escaping for Resources, described here:
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4466485
I wanted to avoid trying to copy when no resource was found.  Now that we are making a string out of what is returned by .getResource, `uri` won't be `nil` when no resource is found—it will be a URI with an empty path.  And we do not want to try and do a dir copy from a File with an empty path, since it will likely bring down the supervisor with an exception.

We really want something like:
```Clojure
uri (if-let [url (.getResource classloader RESOURCES-DIR)]
      (URI. (str url)))
```

This is slightly corrected from my earlier comment, and with this change:

  * If `.getResource` returns `nil`, then `uri` becomes `nil` (no else is needed within `if-let`), and the `cond` does not evaluate the `do` expression paired to `uri` with the `copyDirectory` below.

  * If `.getResource` returns a URL, then `uri` becomes a URI of the string of `url`, and `cond` evaluates the `do` expression with the `copyDirectory`.