deploy: Some minor assertion and error message improvements

To help debug https://bugzilla.gnome.org/show_bug.cgi?id=708351

Plus run a status consistently in the tests.
deploy: Only query bootloader if we have to make a loader change

This will also help distinguish in the output when we're just swapping
bootlinks versus when we need to change the loader config.
deploy: Do a full system sync after writing bootloader config

This is just something I noticed on inspection; we should catch any
changes to /boot in the sync(), even though theoretically gio should
have done fdatasync().
deploy: Remove checksum from generated loader entries

The actual deployment checksum shouldn't be in there, because we may
just swap bootlinks, rendering the name of the old bootloader entry
file invalid.  Thankfully nothing actually parsed the names of these
files, so let's just use the index.
deploy: Correctly swap bootloader version with new boot checksums

If we had two deployments with different boot checksums, and were
trying to remove the one that was the same and add a new one (the
normal case), we'd end up assuming due to comparison with 0 that
we only needed to do the fast subbootversion swap.

Fix this by actually putting 1 where we really mean 1.

And update the tests to verify the fix; I have double-verified by
undoing the fix, and noting that the test fails.

https://bugzilla.gnome.org/show_bug.cgi?id=708351
upgrade: Don't segfault if there's no previous deployment

Obviously.