This patch implements an unsat core caching mechanism, which holds a vector of assumptions shared between equivalent bug reports.
I removed two static functions areConstraintsUnfeasible and addNewConstraints because they were quite small and moved their code to FalsePositiveRefutationBRVisitor::finalizeVisitor and FalsePositiveRefutationBRVisitor::VisitNode, respectively; keeping them around would mean adding a new parameter to areConstraintsUnfeasible, to pass the vector of assumptions, which didn't seem worth it.
It's a work-in-progress, because all the unsat cores are currently empty (at least with Z3 4.6).