Bug XXX: Performance improvements in Search.pm

Short: some costly stuff is done twice, this patch refactors that to make it
more reasonable.

Long: Bug 11096 introduced a noticeable overhead to the facet building stage
of the getRecords code. This patch leverages it by propagating the MARC::Record
objects created upon facet building, and reusing them in the C4::Search::searchResults
function.