Scotland international Sandy MacIver has joined Washington Spirit from Manchester City on a three-year contract.