`maven_artifact` uses httplib2 that attempts anonymous access even if user/password is provided.

So access log looks like:

```
/opt/bitnami/apps/artifactory/artifactory_home/logs/request.log:

20191108102644|3|REQUEST|188.163.xxx.xxx|non_authenticated_user|GET|/libs-snapshot-local/xxx/2.14.0-SNAPSHOT/maven-metadata.xml|HTTP/1.1|401|0
20191108102644|2|REQUEST|188.163.xxx.xxx|reader|GET|/libs-snapshot-local/xxx/2.14.0-SNAPSHOT/maven-metadata.xml|HTTP/1.1|200|792
```

Our repository Artifactory blocks access (per IP??) if too many 401 happens.

Ansible then fails with:

```
failed: [stage-server] (item={'name': 'tp-sc', 'jmx_port': 18004}) => {"ansible_loop_var": "item", "changed": false,
  "msg": "Failed to connect to example.com at port 443: [Errno 110] Connection timed out",
  "status": -1,
  "url": "https://example.com/artifactory/libs-snapshot-local/xxx/2.14.0-SNAPSHOT/server-2.14.0-20191108.084713-5.jar.md5"}
```

There is a patch that fixes the behavior of httplib2 : https://github.com/DorianGeraut/maven_artifact_work/commit/5fff2870ba1e8dee864b21eb3a2ea40c10547484

'''
    Return the first pre-existing directory and a list of the new directories that will be created.
    '''
    head, tail = os.path.split(dirname)
    b_head = to_bytes(head, errors='surrogate_or_strict')
    if not os.path.exists(b_head):
        if head == dirname:
            return None, [head]
        else:
            (pre_existing_dir, new_directory_list) = split_pre_existing_dir(head)
    else:
        return head, [tail]
    new_directory_list.append(tail)
    return pre_existing_dir, new_directory_list
def adjust_recursive_directory_permissions(pre_existing_dir, new_directory_list, module, directory_args, changed):
    '''
    Walk the new directories list and make sure that permissions are as we would expect
    '''
    if new_directory_list:
        first_sub_dir = new_directory_list.pop(0)
        if not pre_existing_dir:
            working_dir = first_sub_dir
        else:
            working_dir = os.path.join(pre_existing_dir, first_sub_dir)
        directory_args['path'] = working_dir
        changed = module.set_fs_attributes_if_different(directory_args, changed)
        changed = adjust_recursive_directory_permissions(working_dir, new_directory_list, module, directory_args, changed)
    return changed
class Artifact(object):