all exceptions now follow the framework guidelines

addresses #359. these exceptions must be able to cross an appdomain boundary to aid in debugging