updated generic set uniform method
updated test app
added new error checking macro: this macro is only for using when the
function that might set an error does return a value and that value is
needed after the call