adds challenge tests
make transaction polymorphic
fixes failing tests for making transactions polymorphic
changes xp_transactions to experience_source and adds more tests