High order diamond differencing schemes