ErrorCodeExceptions.py: Common exception class for the project.
NBT_Core.py, SMB_Core.py: Removed redundant code.

ErrorCodeExceptions.py provides the CodedError() exception class, which
is a foundation used to create exception classes that are based on error
codes.

It's really very simple.  CodedError() is just an exception class that
can be used to represent lots of different errors, each of which are
identified by an error code.  There are, however, no error codes defined
in CodedError() itself.  The way you use this class is to create a
descendant class with error codes defined.

NBT_Core.py and SMB_Core.py have been updated to use the CodedError()
class as the basis for, respectively, the NBTerror() and SMBerror()
classes.