Implement "getchains" RPC command to monitor blockchain forks.

Port over https://github.com/chronokings/huntercoin/pull/19 from
Huntercoin:  This implements a new RPC command "getchains" that can be
used to find all currently active chain heads.  This is similar to the
-printblocktree startup option, but it can be used without restarting
just via the RPC interface on a running daemon.
This wasn't clear to me from the documentation. How about just include the length of the branch (how many blocks are not in the main chain)? You can always find the actual chain through getblock -> prev.