Add script to run namecoin in valgrind.

Add a small shell script to run namecoind in valgrind with memory leak
checks and output tee'd to a log file.
Update runValgrind for huntercoin.
Free nodes in disconnected queue on shutdown.

On shut down of the node, free CNode objects that are waiting in the
"disconnected" queue.  This prevents them being mentioned as "definitely
lost" in valgrind reports.
Rewrite cleanup with RAII.

Rewrite the goto shutdown hack by using the destructor of a local class
to make the code cleaner.
Use new class CNodeList to free nodes on exit.

Use a new "public" class CNodeList to hold lists of CNode* and to free
them on program shutdown.
Convert mapBlockIndex to class with RAII.

Store mapBlockIndex global map into custom class that frees the memory
on program shutdown using RAII.  This prevents false positives in memory
leak checks and is cleaner.

Conflicts:
	src/main.cpp
	src/main.h
Fix merge.
Allow parameters to runValgrind.sh.
Free nodes in disconnected queue on shutdown.

On shut down of the node, free CNode objects that are waiting in the
"disconnected" queue.  This prevents them being mentioned as "definitely
lost" in valgrind reports.
Rewrite cleanup with RAII.

Rewrite the goto shutdown hack by using the destructor of a local class
to make the code cleaner.
Use new class CNodeList to free nodes on exit.

Use a new "public" class CNodeList to hold lists of CNode* and to free
them on program shutdown.
Convert mapBlockIndex to class with RAII.

Store mapBlockIndex global map into custom class that frees the memory
on program shutdown using RAII.  This prevents false positives in memory
leak checks and is cleaner.

Conflicts:
	src/main.cpp
	src/main.h
Fix merge.
Fix rebase.