Clean up dll.py exceptions

Subclass from Exception, not BaseException.

Use subclassing instead of name mangling to indicate error type.
Add copy flag to make_relocatable to break the hard link