Added num::Signed implementation to Ratio (squashed)
auto merge of #15417 : pfalabella/rust/rational-signed, r=alexcrichton