Do not force the mfs to be equal to the image size provided by the user.
makefs can create a mfs with just the right size based on the directory
so just use that.
This is easier to maintain and read.
Each image type have a _check, _prepare, _build and _generate function.
_check validate that every needed options is passed.
_prepare will create the disk image when it's needed (i.e. dump type etc..)
_build will build the root image.
_generate will finalize the image
For each image type we can have subtype, expressed in the name with a +subtype
So we now have a common path for usb+mfs and iso+mfs in the mfs creation for
example.