Fix #81 getting a datastore.entity by key or path

New can get a datastore.entity by key or path
#81 
This will break if

1. `key_or_path` is not iterable
1. `key_or_path` does not have even length

The 2nd is handled by `Key.from_path` but the first may give a confusing error, e.g.
```python
>>> a = [1, 2]
>>> b = None
>>> def f(x, y):
...     return x + y
... 
>>> f(*a)
3
>>> f(*b)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: f() argument after * must be a sequence, not NoneType
```

I am torn on whether it makes sense to throw our own error or just allow the native error to show through. @tseaver WDYT?

(Also, happy thanksgiving.)