Minor fixes

This new behavior has the added benefit that computing the final destination of the file is easy. I think the following should work:

```python
if osp.isdir(local_path):
  dst = osp.join(local_path, posixpath.basename(hdfs_path))
else:
  local_dir = osp.dirname(local_path) or '.'
  if osp.is_dir(local_dir):
    dst = local_path
  else:
    # fail early
    raise HdfsError('Something')
```
This way, we wouldn't need to patch `move` and import all the other module functions from there.