mem: Add checks to sendTimingReq in cache

A small fix to ensure the return value is not ignored.
mem: Check return value of checkFunctional in SimpleMemory

Simple fix to ensure we only iterate until we are done.
misc: Remove assertions ensuring unsigned values >= 0
stats: Fix flow-control bug in Vector2D printing
misc: Restore ostream flags where needed

This patch ensures we adhere to the normal ostream usage rules, and
restore the flags after modifying them.
misc: Use safe_cast when assumptions are made about return value

This patch changes two dynamic_cast to safe_cast as we assume the
return value is not NULL (without checking).
base: Ensure the CP annotation compiles again

A bit of revamping to get the CP annotate functionality to compile.
cpu: Use a deque in o3 rename instruction queue

Switch from a list to a data structure with better data layout.
arch: Pass faults by const reference where possible

This patch changes how faults are passed between methods in an attempt
to copy as few reference-counting pointer instances as possible. This
should avoid unecessary copies being created, contributing to the
increment/decrement of the reference counters.