Added new sync script that can write from Banner to a MySQL cache DB first.

This provides improved error handling in the case that Banner goes offline
during a sync since only the cache DB will be left with partial data, not
the primary DB.