Add handling of empty GetRates responses

The API omits the `<Rates>` element if there are no rates that can fulfill the given rate options (e.g. excessive weight), which was not handled prior to this commit (resulting in an unhandled exception).