remote_file: CHEF-1031: FTP URLs; CHEF-3786: authenticated HTTP/S

Conflicts:

	lib/chef/provider/remote_file.rb
	lib/chef/resource/remote_file.rb
add attribution for ftp methods
pull ftp functionality out of remote_file.rb, move to remote_file/ftp.rb
add file://
Fix remote_file namespacing
Update existing tests to function with RestClient::Request
add new tests
correctly display source name in converge description
always re-raise on argument exception, refactor into smaller methods
add additional exception details for restclient
e.response can sometimes trash a terminal session.
move dir parsing out of ftp.initialize, don't overwrite
new_resource.source
incorrect refs to inaccessible 'uri'
CHEF-3859:  remote file resource fails ungracefully when no source is
set.
functional test for CHEF-3140
some cleanup utilizing the refactored RemoteFile::FTP
Merge branch 'CHEF-1031'
CHEF-1031: Switch to URI#host for 1.8 compat