base: Add support for newer versions of IPython

IPython is used for the interactive gem5 shell if it exists. IPython
made API changes in version 0.11. This patch adds support for IPython
version 0.11 and above.
cpu: Remove incorrect branch predictor drain checks

The branch predictor unit incorrectly checked that the prediction
history was empty when the system is drained. This is an incorrect
assumption since the predictor isn't affected by a drain.
cpu: Set memReq[tid] to NULL in finishTranslation after squashes

DefaultFetch::finishTranslation() sometimes deleted the incomming
memory request without clearing the associated memReq pointer. This
caused an assertion in DefaultFetch::drainSanityCheck to fail.