LIVEOAK-513 Add callback support to Driver encoding
 - Switch DirectoryResource.readMembers() back to being async
 - Pass a Throwable Consumer into RootEncodingDriver to handle exceptions by returning INTERNAL_ERROR
 - Modify MembersEncodingDriver to catch exception in MyResourceSink.close() and call error() which will call the Throwable Consumer