Adding the $patron parameter back to processHoldingRow() because HorizonXMLAPI::processHoldingRow() calls it's parent and requires $patron.
(cherry picked from commit 8729f50)
Starting to move functions up to HorizonXMLAPI so it does not need to extend Horizon.php which uses Sybase.
Safety checkin for new HorizonAPI. Several implemented methods.
Quote a lot of progress on HorizonAPI.php

Rolling corresponding changes to HorizonXMLAPI.php back.
Progress on HorizonAPI.php

Also change from JSON to XML Accept headers because JSON is buggy over Horizon API.
Reverting getCancelHoldDetails() to return the horrible pipe delimited ids, because there were some downstream processes in the templates that depend on that horrible format.
More work on HorizonAPI. Mainly changes to getStatuses().
Merge remote-tracking branch 'origin/public-feature-xmlhorizon' into public-feature-xmlhorizon