ADDED: Default value of empty string for AttrDict for an unknown key.
ADDED: Ability to pickle an AttrDict() by adding __getstate__ and __setstate__ which defer to parent class (why weren't these inherited automatically anyways?)
CHANGE: In order to avoid a missing reference inspection error I changed Script.__InstallSignals() to have their own default empty definitions and the installer checks to see if the current function originated from pklib.Script
ADDED: Pickling of messages which do not match any rules, when this occurs a header of X-BanBot-Pickle-Path indicates the full pathname of the pickle file.
     This is with the future intention of being able to run a 'new rule' against pickled results to see that the rule would have affected the message in question.
BUGFIX: BanBot was always daemonizing regardless of -d setting