William MacKenzie (of Galloway )