[syncback] Fix stopping of the syncback service.
[tests/base] Fix for thread issue in tests.

Summary: See the note on base.py regarding threading vs. monkey patch issue.
More importantly, my tests don't seem to be hanging anymore, however 3 of the
tests are currently / still failing? I'm looking into those now, but thought
I'd provide this diff as a heads-up on progresson the issue.

Test Plan: review the link in base.py

Reviewers: emfree

Subscribers:
[tests/syncback] Fix ordering of syncback service and monkeypatch.
[tests] Fix issue with syncback service lingering around while the database gets reset every run.

Summary: We were having an issue with some tests failing and some tests hanging. This was mostly due to the fact that we didn't stop the syncback service inbetween test runs, while we _did_ reimport the database between test runs. As such, we were having inconsitencies where the syncback service would think that it had already handled actions (from previous runs) while new actions had been submitted. Furthermore, having the long-running thread interacting with the database while we re-import it for each test run is likely the cause of the hangs between runs. Instead, we need to stop the sync service inbetween runs. This actually requires a graceful exit of the syncback service instead of just killing it so that it will clean up its lock (and thus so a new one can be started).

Test Plan: Run the regression suite 15x

Reviewers: emfree

Reviewed By: emfree

Differential Revision: https://review.inboxapp.com/D432