ENH: add regex functionality to DataFrame.replace

addresses #2285.