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.
Consider using something like [Exception::Class](https://metacpan.org/pod/Exception::Class) to throw a typed exception.