James Hamilton (British Army officier, born 1777)