Bug 999755 - Add neuter() variants to vary data pointer.  Also fold in the followup patch in bug 1002864, to ignore disposition when buffer contents can't be changed.  r=Waldo, r=sfink, a=bajaj
Bug 999651, bug 995679, bug 1009952, bug 1011007, bug 991981. r=sfink, r=shu, r=jandem, r=jdm, r=luke, r=bbouvier, r=nmatsakis, r=bz, r=ehsan, r=jgilbert, r=smaug, r=sicking, r=terrence, r=bholley, r=bent, r=efaust, r=jorendorff, a=1.2.x+