manager: improve DCLP with memory fences

this requires gcc 4.7, clang 3.1 and Visual Studio 2012

some deepder compiler optimizations could lead into some strange behaviour described here: http://erdani.com/publications/DDJ_Jul_Aug_2004_revised.pdf

The solution is to use some memory barriers to prevent this.