Bug 873799 - Add an explicit barrier before __sync_lock_test_and_set in mfbt/Atomics.h r=froydnj

--HG--
extra : rebase_source : 64d23f1df2fef8719413800ebb0afe6f51d1e3af
Bug 873800 - Add compare-and-exchange to mfbt/Atomics.h. r=froydnj

--HG--
extra : rebase_source : c9e455ed249e6b3cd0f532d240abfb602e2e88a8
Bug 832609 - Add mozilla::OffTheBooksMutex, which is just like mozilla::Mutex, except it's not leak-checked. r=khuey

--HG--
extra : rebase_source : 2c06334a5db4c8b57c9a3480a83e543dd98a9b20
Bug 873801 - Add StaticMutex, which is like StaticAutoPtr<OffTheBooksMutex>, except it's lazily initialized in a threadsafe manner. r=khuey

--HG--
extra : rebase_source : aaa9be27be5dfd448f8877073a44d4b29b02d70f
Bug 832609 - Make memory reporter for blobs threadsafe. r=khuey

--HG--
extra : rebase_source : 4dc2387ae3867699085139545ff2b57104b1f72a