The congruence subgroup problem for branch groups