update ftp.php

Added setPassiveMode for changing FTP passive mode to on or off. In passive mode, data connections are initiated by the client, rather than by the server. It may be needed if the client is behind firewall.
Added exception to getConnection method when connection to FTP server fails.
To make the message more informative, maybe you should add the hostname to the message? Like this:

````PHP
throw new FtpException(sprintf('Error connecting to FTP server at %s.', $this->hostname));
````