Stop FitBit synclets if self/devices never sync

If something went wrong with `self` or `devices`, the rest of the FitBit
synclets would reenqueue themselves forever waiting for the data they need. Now,
they'll try again in 30 then 300 seconds, and if there's still nothing, they'll
start throwing errors.

In order to return the error from the `pather` function, we need to check for it
in `genericSync`. If it gets a `string` back, we use it as the path. Anything
else is considered an error. This feels sort of gross, but it was simplest and
avoids throwing exceptions.
Merge pull request #800 from Singly/fitbit-error-without-devices

Stop FitBit synclets if self/devices never sync