expostulator

Noun

 * 1) One who expostulates.