Support merged mining with other unmodified blockchains (as USC / Namecoin do)

This is a port of [United Scrypt Coin](https://github.com/united-scrypt-coin-project/unitedscryptcoin)'s merged mining support to the Dogecoin 1.7 dev branch. I've been using this to start short forks on the testnet with Litecoin's testnet as the parent coin and had success so far, but the amount of testing done on this code specific to Dogecoin is pretty limited.

A few things are left open, the chain ID due to some of the issues discussed [here](https://en.bitcoin.it/wiki/Merged_mining_specification#Aux_work_merkle_tree) and the starting blocks for testing/deployment.

Example usage of this patch for testnet mining with p2pool and the unmodified Litecoin client:
./run_p2pool.py --net litecoin --testnet --merged http://doge:shibesecrets@localhost:44555/

With all the discussion around supporting this feature on /r/dogecoin lately, I thought I'd take a stab at getting it working even if it doesn't end up getting used.