Fix option parsing so that passing --bucket_size after the device works

This makes supporting -U more annoying; dropping that for the moment,
unless someone complains
Update for new superblock version for data_offset
Register devices with just udev.

This means bcache devices will be registered earlier and in all
cases, not just when the rootfs fails to mount.

The initramfs hook is still there to ensure the bcache module
and udev rules are shipped if an initramfs is used.
Add a flag to pick the cache set uuid.
Trivial build fix.
Make sure to copy a full superblock in bcache-super-show.

With this change all existing bcache formats can be printed.

Also update the macro to select a bdev.
Rename the flag.
Update data offset format and warn about the previous one.