apt_key: Support fetching keys over FTP.

The current ``apt::key`` type also supports fetching key's from FTP, this commit adds it to our ``apt_key`` provider so we don't lose that functionality.

I am extremely sorry for the ``patch-openuri`` hack this commit introduces, please try and not hold it against me for the rest of my life.

The problem is that in Ruby 1.8.7 net/ftp defaults to using active mode for FTP which breaks just about everywhere a firewall is involved. Unfortunately it is only since Ruby 1.9.3 that net/ftp defaults to passive mode and it is only since 1.9.3 that open-uri's ``open()`` method accepts the ``:ftp_active_mode`` option.

So, in case this happens to be running on 1.8.7 we forcefully merge ``:ftp_active_mode => false`` into OpenURI's ``Options`` hash and then overload the the ``buffer_open()`` method. I couldn't find any other way to do this. The only thing that's changed with the original implementation of this in Ruby 1.8.7 is the extra ``ftp.passive = true if !options[:ftp_active_mode]`` in the body (which I stole from the 1.9.3 implementation).