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
Merge pull request #2840 from sipa/nosendlock

Allow SendMessages to run partially without cs_main