handle synchronous error when request name is invalid

This change handles the case when the request name for data is incorrect
and captures the exception to call the user's provided callback with an
exception.

Additionally, the creation of exceptions for blpapi errors that provide
additional information has been generalized.