South African Andries Strauss has joined top Scottish club Edinburgh on a two-and-a-half year contract.