Handle translation errors

This PR does two things:
- It handles the case where no translations hash was provided to the translate subroutine
- If no translations are provided to the adaptor by the resource provider we catch the error that the get_attribute subroutine would throw and call the translate subroutine so that errors are handled in the translate subroutine

This will ensure that we will throw an error (in translate) in case the adaptor expects translations but they weren't provided by the resource provider.
My only concern here is that if the error message is changed in translate_inputs, this will break. This could be fixed with an error code or something. Or perhaps WithTranslatedInputs can have a constant method that returns this string so this it does not have to be in two places.