[#2222] Refactored irods_error

PASS will no longer triplicate function calls, several getter functions
have been changed to const, ASSERT_PASS_MSG has been removed, as its
functionality as it is used in the code is fully captured in
ASSERT_PASS, and one of the constructors for error object has been
adjusted to not require duplicate information.