What is GridFTP and how and why is it used?