significant refactoring for decorators, new RelationalDict/ManyToManyDict!, numerous other fixes