Alan Johnson is to be the new Home Secretary, and Defence Secretary John Hutton has resigned, as Gordon Brown reshuffles his cabinet.