Performance and safety improvements

I tried to use this lib to convert 34000 bank accounts. This took 11 minutes even with 8 cores working on it. Turns out the XML document instantiation on every single account was the main performance bottleneck. Here is a fix for that, including thread safety (org.w3c.dom itself is not threadsafe).

Execution time is down from 11 minutes to 8 seconds.

I also added several other checks and added exception types for all sorts of errors that occurred in my data.

And I eliminated all System.exit() calls. A library has no business terminating the application using it. Never. Really.

Note: there is a bank with rule number 002700 for which there is no rule defined.

Note: I had to change the resource paths to fit my installation. I'm not sure what's different to your build process, but feel free to change those paths back if needed.

Thanks for providing this library. I hope I could contribute something.