JBIDE-18247 - better organized with better cancelation logic

JBIDE-18247 - add apis that actually expose timeout variable

JBIDE-18247 - added a javadoc

JBIDE-18247 - changed forceStop boolean into a timeToLive value

JBIDE-18247 - move method into URLTransportUtility to be public API

Cleanup of api, javadoc, and added a test

Added second test

Added second test

Always download new version to new file; throw exception if remote file doesn't exist (as api already states)

Updating error messages

removing useless test