SERVER-5730 Reliable notification framework

Since this is  new code, please follow the Google C++ Style Guide for Function declarations and definitions:

http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Function_Declarations_and_Definitions

According to the style guide,
* There is never a space between the function name and the open parenthesis.
* There is never a space between the parentheses and the parameters.