Implement Consistent Option Ordering

This resolves issue https://github.com/saz/puppet-ssh/issues/31 by plucking the Port and ListenAddress options from the options hash and putting them in at the top in the correct order required by sshd.

It also implements and extends https://github.com/saz/puppet-ssh/pull/29 so that remaining options are consistently ordered between runs.  It sorts the option keys as an array so it should also work in ruby 1.8.7 which from my understanding, does not understand hash sorting.