Make sure `synchronization_data` always returns a value we can use.

It's possible for the synchronization_data file to be non exist or
incorrectly formatted which leads to an exception being raised in
`needs_polling?` and `needs_reloading?`.

Closes #111