Brown, John (of Haddington)