Localizing usages of Transaction.Start

1. Transaction.Start is used in many places. Now it's used in some
methods in Event and Behavior, and during subscribe and publish.

2. Moving the Frequency class into the core