Smoother difficulty adjustment.

Fix for #51.

Use the average time-per-block over the last 16 blocks to adjust difficulty, not just the time between the last two blocks. This will minimise the effect of incorrect timestamps on the network difficulty.

Change this line to the block number that the change should take effect:

    const int SMOOTH_DIFFICULTY_START = 999999;