src/path.js
function _gpfPathJoin (path) {
    var splitPath = _gpfPathDecompose(path);
    _gpfArrayTail(arguments).forEach(_gpfPathAppend.bind(null, splitPath));
    return splitPath.join("/");
}
function _gpfPathJoin (path) {
    var splitPath = _gpfPathDecompose(path);
    _gpfArrayTail(arguments).forEach(_gpfPathAppend.bind(null, splitPath));
    return splitPath.join("/");
}
function _gpfPathJoin ( path ) { var splitPath = _gpfPathDecompose ( path ) ; _gpfArrayTail ( arguments ) . forEach ( _gpfPathAppend . bind ( null , splitPath ) ) ; return splitPath . join ( "/" ) ; }
Join all arguments together and normalize the resulting path

@param {String} path Base path
@param {...String} relativePath Relative parts to append to the base path
@return {String} Joined path
@throws {gpf.Error.UnreachablePath}
@since 0.1.9
Join all arguments together and normalize the resulting path