FTP Connection Profile Sample

In order to use this sample, you need to grab a couple
of plug-ins from the latest Orbit bundle.

http://download.eclipse.org/tools/orbit/downloads/

You need to find:
	org.apache.oro
	org.apache.commons.net

The sample will not compile or run without them. 

This sample focuses mainly on creating a profile,
providing unique values (like a FTP system name,
user id, password, etc), and populating the tree
once the profile is created or edited. 

It is VERY basic functionality that could be extended
easily to handle drag/drop of a file from the FTP site 
into a project or adding the ability to open/edit a file
on an FTP server, etc.