Repository: ResearchObject/ro-crate-py (python)

Issue:
BUG: If Root Data Entity has an arcp:// ID the arcp:// part gets stripped off it
Here's some code to reproduce the error:

```python
from rocrate.rocrate import ROCrate
import json
import os
test_crate = {
  "@context": [
    "https://w3id.org/ro/crate/1.1/context",
    {
      "@vocab": "http://schema.org/"
    }
  ],
  "@graph": [
    {
      "@id": "ro-crate-metadata.json",
      "@type": "CreativeWork",
      "conformsTo": [
        {
          "@id": "https://w3id.org/ro/crate/1.2"
        }
      ],
      "about": {
        "@id": "arcp://name,corpus-of-oz-early-english"
      }
     
      
    },
    {"@id": "arcp://name,corpus-of-oz-early-english", "@type": "Dataset"}
  ]}
os.makedirs("test_crate", exist_ok=True)
f = open("test_crate/ro-crate-metadata.json","w")
f.write(json.dumps(test_crate, indent=2))
f.close()
crate = ROCrate("test_crate")
print("ID of root dataset", crate.root_dataset.id) # name,corpus-of-oz-early-english 

print("ID of original", test_crate["@graph"][1]["@id"]) # arcp://name,corpus-of-oz-early-english
print("same?", crate.root_dataset.id == test_crate["@graph"][1]["@id"])

```

Pull request description:
Fix is_url
Fixes #167.

The `is_url` utility failed to recognize URLs that don't have a path part, e.g. `http://example.com`.

Patch:
diff --git a/rocrate/utils.py b/rocrate/utils.py
index 18aa6f2..434fb41 100644
--- a/rocrate/utils.py
+++ b/rocrate/utils.py
@@ -33,7 +33,7 @@ def is_url(string):
     parts = urlsplit(string)
     if os.name == "nt" and len(parts.scheme) == 1:
         return False
-    return all((parts.scheme, parts.path))
+    return bool(parts.scheme)
 
 
 def iso_now():


Test patch:
diff --git a/test/test_utils.py b/test/test_utils.py
index 7b0607b..20a8504 100644
--- a/test/test_utils.py
+++ b/test/test_utils.py
@@ -18,7 +18,7 @@
 
 import pytest
 
-from rocrate.utils import subclasses, get_norm_value
+from rocrate.utils import subclasses, get_norm_value, is_url
 
 
 class Pet:
@@ -53,3 +53,12 @@ def test_get_norm_value():
     assert get_norm_value({"@id": "#xyz"}, "name") == []
     with pytest.raises(ValueError):
         get_norm_value({"@id": "#xyz", "name": [["foo"]]}, "name")
+
+
+def test_is_url():
+    assert is_url("http://example.com/index.html")
+    assert is_url("http://example.com/")
+    assert is_url("http://example.com")
+    assert not is_url("/etc/")
+    assert not is_url("/etc")
+    assert not is_url("/")