Fix SQL duplicate messages issue:
- Ensure the state is reset at the beginning of the receive loop
- Added more tracing to detect unexpected states in the ObservableDbOperation state machine
- #2988
Added unit tests
Update test csproj files for VS2013