tests/partition: Reboot machine on every subtest.

This will ensure that we don't get errors because the kernel doesn't recognize
the new partitioning scheme on some conditions or architectures, such as i686.

See here for the Hydra build log on i686:

http://hydra.nixos.org/build/5432090/download/1/log.html

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
tests/partition: Check if nixpart loses mounts.

As the whole partitioning run is quite an invasive procedure, we want to
especially make sure that it doesn't unmount any filesystems that were mounted
before the partitioner was run.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
tests/partition: Unmount and check remounting.

This checks if nixpart is able to mount the filesystems from scratch again, just
with the information provided by the kickstart file.

Found an odd issue about findmnt here, because it seems to not show /mnt/boot,
even though it _is_ mounted and even shows up in /proc/self/mountinfo. I'm not
quite sure whether this is a bug or I'm doing something wrong here, but might
need some investigation.

Mountpoints are checked by adding empty canary files, remounting and checking if
the same canaries still exist. If they don't, the partitioner either has
formatted the filesystem or just not mounted the device. Either way, both
shouldn't happen, but that's why we're testing it, no? :-)

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
tests/partition: Explicitly check mountpoints.

Don't rely solely on canaries, because mountpoints might not have been created
in the first place.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
tests/partition: Load module for btrfs filesystem.

Blivet won't mount filesystems if they don't show up in /proc/filesystems.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>