cpu: simple: Fix branch predictor warming issue

There is an issue when warming the branch predictor that has to do
with how the simple CPU calls the branch predictor. For some reason,
the predictor gets confused if the prediction happens in advancePC,
presumably because the npc of the PC state is already updated. This
changeset moves the branch prediction to preExecute() and leaves the
feedback (squash()/update()) in the advancePC() method.