Allow SendMessages to run partially without cs_main

SendMessages() tries to acquire a cs_main lock now, but this isn't nessecary
for much of its functionality. Move those parts out of the locked section,
so they can always be performed, and we hold cs_main for a shorter time.
Run node deletions outside of cs_vNodes
Push down cs_main locking in ProcessMessage
Make -DDEBUGLOCKORDER + -debug less noisy

Print out every mutex lock/unlock if compiled -DDEBUGLOCKORDER
only if -debug=lock is set.
Changing LockedPageManager to use a managed instance

This ensures the allocator is ready no matter when it's needed (as
some STL implementations allocate in constructors -- i.e., MSVC's STL
in debug builds).

Using boost::call_once to guarantee thread-safe static initialization.

Adding some comments describing why the change was made.

Addressing deinitialization of the LockedPageManager object
by initializing it in a local static initializer and adding
an assert in the base's destructor.
Merge pull request #3117 from gavinandresen/debuglockprint

Make -DDEBUGLOCKORDER + -debug less noisy
Merge pull request #3046 from sarchar/lockedpage-change

Changing LockedPageManager to use a managed instance
Merge pull request #2840 from sipa/nosendlock

Allow SendMessages to run partially without cs_main