'ensure that an args-joined path exists (by default as
a file). if you specify a keyword argument \'directory=True\'
then the path is forced  to be a directory path.'

def ensure(self, *args, **kwargs):

    p = self.join(*args)
    if p.check():
        if p.check(versioned=False):
            p.add()
        return p
    if kwargs.get('dir', 0):
        return p._ensuredirs()
    parent = p.dirpath()
    parent._ensuredirs()
    p.write('')
    p.add()
    return p
