Make address reuse for movements controllable.

Add a new "-noaddressreuse" command-line parameter that disables the
reuse of player addresses for movements.  By default, addresses will be
reused to prevent running out of backed up keys.  This patch also
changes the behaviour to send not only the player itself but also the
change to a reused address.

This fixes https://github.com/chronokings/huntercoin/issues/67.
Implement prune_gamedb RPC command.
Merge pull request #73 from domob1812/master

Make address reuse for movements controllable.
Merge pull request #75 from domob1812/prune-gamedb

Implement prune_gamedb RPC command.
Rework CNameDB public interface.

Rework the public interface of CNameDB to be more high-level.  Instead
of reading (and especially writing) the vector of CNameIndex objects
manually, users of CNameDB can now use PushEntry/PopEntry and ReadName
to access just the last entry.  This is in preparation to pruning.
Simplify name_list (no need for CNameDB).

Use the Merkle branch info to determine a tx's height in name_list, no
need to use the name DB.
Do name_list optimisations also for Qt.
Fix the name_list improvements.
Remove suprefluouns conditional.
Merge pull request #74 from domob1812/doublespend

Use EraseBadMoveTransactions() for name_clean.
Merge pull request #76 from domob1812/prune-namelist

Encapsulate CNameDB interface and improve name_list.