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.

To test it, create a new wallet (preferrably on testnet) with a small keypool (use "-keypool=3" or something), send it some coins and a player and back it up.  If you then perform some moves (say, 10) and restore the backup, everything should still be there.  If you do the same but use "-noaddressreuse", then coins and player should be gone after restoring the backup.  For me it worked on a private testnet that way.  Make also sure that "everything" still works as expected.