Support a `file_manifest` argument for `do_backup`

This will let the application try the `file_manifest` approach if the old approach failed.
`backup_heartbeat` is always for the file manifest approach, but make sure it was a file manifest approach initially.
Special reporting when the backup process is killed.
Support the `backup_type` argument when restarting a backup.

Otherwise, users might not be getting what they expected.

Closes #90
API has trouble verifying bool arguments, so let's make this a proper string.
Make this protected so we can access it from a subclass.
Merge pull request #97 from humanmade/file-manifest-do-backup-97

Support `file_manifest` argument for `do_backup`